
DP
Frozensmile
这个作者很懒,什么都没留下…
展开
-
一道谷歌测试题 背包变体
有n个桶,每个桶里有a[i]个硬币,不能同时取相邻两个桶里的硬币,一个桶里的硬币要么取完,要么不取,背包容量为num,也就是最多取num个硬币。 输出最多能取多少个硬币 范围:1<=n<=10000, 1<=a[i]<=1000,0<=num<=1000 bool dp[1005][2]; dp[0][0]=true; for(int i=1;i&...原创 2019-11-08 21:05:44 · 241 阅读 · 0 评论 -
Codeforces 1201D Treasure Hunting 动态规划
传送门 思路: dp[i][0]代表由原点到达第i行最左边(y坐标最小)所需要的最小步数, dp[i][1]代表由远点到达第i行最右边(y坐标最大)所需要的最小步数. 第i行如何往第i+1行进行状态转移呢? 这里拿从第i行最左边出发为例.例如dp[i][0]所对应的位置的纵坐标为x,那么从i上到i+1只需要走最大的且<x的可以上升的列,或走最小的且>=x的可以上升的列,这里可以通过二...原创 2019-08-06 12:38:00 · 527 阅读 · 0 评论