随笔分类 -  动态规划(dp)

摘要:题目链接:hdu 5587 前两周 bc 上的题了,因为赶大作业所以没有去打,看了下官方给出的思路,感觉好强大~~竟然能转化成求二进制数 1 的个数: 然后数位 dp 就行了, 1 #include 2 #include 3 #include 4 using namespace std; 5... 阅读全文
posted @ 2015-12-08 19:58 Newdawn_ALM 阅读(184) 评论(0) 推荐(0) 编辑
摘要:题目链接:hdu 5542 首届CCPC的C题,比赛时一起搞了好久,最后是队友A出的,当时有试过用树状数组来优化 dp,然后今天下午也用树状数组搞了一下午,结果还是踩了和当时一样的坑:我总是把用来记录状态的 dp 数组和树状数组里的内置数组混在一起使用了,而且两重循环的顺序也反了,以至于两组数... 阅读全文
posted @ 2015-11-05 17:32 Newdawn_ALM 阅读(420) 评论(0) 推荐(0) 编辑
摘要:题目链接:hdu 4870 这题应该算是概率 dp 吧,刚开始看了好几个博客都一头雾水,总有些细节理不清楚,后来看了 hdu 4870 Rating (概率dp)这篇博客终于有如醍醐灌顶,就好像是第 7 个烧饼一样,终于感到饱了。 还是适当贴下图先: 按照这个思路我的代码如下: 1 #in... 阅读全文
posted @ 2015-10-13 01:25 Newdawn_ALM 阅读(162) 评论(0) 推荐(0) 编辑
摘要:hdu 4055: 一开始我想的递推方向想得很复杂,看了别人的博客后才醍醐灌顶: 参照他的思路和代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 const int mod = 1000000007; 6 const ... 阅读全文
posted @ 2015-08-14 19:06 Newdawn_ALM 阅读(207) 评论(0) 推荐(0) 编辑
摘要:题目连接:B. Working out 我想了很久都没有想到怎么递推,看了题解后试着自己写,结果第二组数据就 wa 了,后来才知道自己没有判选择的两条路径是否只是一个交点。 大概思路是:先预处理出每个格子到四个角落格子的路径最大数值,然后枚举两个人相遇的交点格子,枚举 A、B 的进来和出去方... 阅读全文
posted @ 2015-07-27 16:58 Newdawn_ALM 阅读(206) 评论(0) 推荐(0) 编辑
摘要:题目链接:hdu 2191 题意很明显,数据规模也比较小,不过这题的数据还是很强的,多重背包我之前一直没有了解透切,所以也 wa 了不知多少次了,先来个朴素的比较暴力的版本: 1 #include 2 #include 3 #include 4 using namespace std; 5 #... 阅读全文
posted @ 2015-07-27 11:27 Newdawn_ALM 阅读(179) 评论(0) 推荐(0) 编辑
摘要:今天去牛客网看了看包含一这道题,一开始没看清,以为它要统计 1~n 所有数中数字 '1' 出现的总次数,也就是说,若 n == 11,则 ans = 4;而按照题目的原意 ans 应该为 3。看错题意后还是挣扎了好久,具体的调试过程也不想回忆叙述了,先贴上按照我一开始理解的意思的代码吧,虽然没有... 阅读全文
posted @ 2015-07-16 17:07 Newdawn_ALM 阅读(915) 评论(0) 推荐(0) 编辑
摘要:比起之前一直在刷的背包题,这道题可以算是最纯粹的dp了,写下简单题解。 题意是说cows在1树和2树下来回移动取苹果,有移动次数限制,问最后能拿到的最多苹果数,含有最优子结构性质,大致的状态转移也不难想出,以 dp[i][j] 表示第 i 分钟使用了 j 次移动机会时能获得的最多苹果数(不需3... 阅读全文
posted @ 2015-03-05 18:05 Newdawn_ALM 阅读(134) 评论(0) 推荐(0) 编辑
摘要:这题就是多重背包,分成尽可能相等的两部分,题目的数据规模比较小,有个不大的坑,以负数来作结束输入,而不是-1。我还是参考《挑战》的多重背包的做法,以dp[i][j]表示前 i 中物品构成价值 j 时物品 i 还剩下多少个,递推方程也就模板化了。 1 #include 2 #include 3 #... 阅读全文
posted @ 2015-03-04 22:03 Newdawn_ALM 阅读(139) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=2063 今天果然是卡题的一天。白天被hdu那道01背包的变形卡到现在还没想通就不说了,然后晚上又被这道有个不大也不小的坑的完全背包卡了好久。这题主要是说让你选择不同的债券(每种债券的费用和年利率的属性),然后n年后使得本金最大,如... 阅读全文
posted @ 2015-02-03 22:56 Newdawn_ALM 阅读(224) 评论(0) 推荐(0) 编辑
摘要:前几天刚回到家却发现家里没网线 && 路由器都被带走了,无奈之下只好铤而走险尝试蹭隔壁家的WiFi,不试不知道,一试吓一跳,用个手机软件简简单单就连上了,然后在浏览器输入192.168.1.1就能看到他的路由器的一切信息,包括密码,然后打开笔记本……好了,废话不多说,能连上网后第一时间当然是继续... 阅读全文
posted @ 2015-02-03 00:13 Newdawn_ALM 阅读(253) 评论(0) 推荐(0) 编辑
摘要:这题应该是用dp来做的吧,但一时不想思考了,写了个很暴力的,类似模拟打表,然后排序即可,要注意的是输出的格式,在这里wa了一发,看了别人的代码才知道哪些情况没考虑到。 1 #include 2 #include 3 #include 4 #include 5 #define For(i,s,t)... 阅读全文
posted @ 2014-12-25 23:38 Newdawn_ALM 阅读(152) 评论(0) 推荐(0) 编辑
摘要:首先是 Uva 147:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=83 细心看完这题后发现还是完全背包,只不过需要对浮点数处理一下。即把所有硬币的... 阅读全文
posted @ 2014-12-04 17:11 Newdawn_ALM 阅读(421) 评论(3) 推荐(1) 编辑
摘要:在模模糊糊地看了完全背包后刷的几道水题,参考过网上的题解。首先是 hdu 1028:http://acm.hdu.edu.cn/showproblem.php?pid=1028 这道题就是说整数划分,类似于完全背包,母函数暂时还不会,学了再回来补充,用完全背包优化后的版本: 1 #includ... 阅读全文
posted @ 2014-12-04 14:31 Newdawn_ALM 阅读(165) 评论(0) 推荐(0) 编辑
摘要:昨晚搞的第二道矩阵快速幂,一开始我还想直接套个矩阵上去(原谅哥模板题做多了),后来看清楚题意后觉得有点像之前做的数位dp的水题,于是就用数位dp的方法去分析,推了好一会总算推出它的递推关系式了(还是菜鸟,对dp还是很不熟练): dp[i][0/1]表示以0/1开头的不含101且不含111的i位... 阅读全文
posted @ 2014-11-30 12:39 Newdawn_ALM 阅读(179) 评论(0) 推荐(0) 编辑
摘要:题目很简单,就是个最大子矩阵和的裸题,看来算法课本的分析后也差不多会做了。利用最大子段和的O(n)算法,对矩阵的行(或列)进行 i和j的枚举,对于第 i到j行,把同一列的元素进行压缩,得到一整行的一维数组后直接调用O(n)算法即可。我一开始还想着同一列的元素压缩不是也要耗费O(n)的时间吗,看了... 阅读全文
posted @ 2014-11-26 08:21 Newdawn_ALM 阅读(160) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示