![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
霜降sma
作为一个程序媛,我要努力生活【雾
展开
-
【DP】POJ 2385
题意:又是Bessie 这头牛在折腾,这回他喜欢吃苹果,于是在两棵苹果树下等着接苹果,但苹果不能落地后再接,吃的时候不算,假设他能拿得下所有苹果,问你在这时间内能拿到的最多的苹果是多少? 想法:我的想法经过了九曲十八弯总算解了,最开始在第一棵或者第二棵树都没关系,就看你要不要移动一次,状态转移方程是dp[i][j] = max(dp[i-1][j-1],dp[i-1][j]),其中i代表时间,其原创 2015-07-27 10:47:02 · 297 阅读 · 0 评论 -
【DP】HDU 1087
HDU 1078 Super Jumping! Jumping! Jumping!题意: 有这么个游戏,从start到end(自己决定在哪停下来)连续跳圈,中间不能空一个圈不跳,圈里的数字必须比你上次跳到圈里的数字大,最后求你所有路过的圈中数字总和最大。 思路:很明显的最长上升子序列之和,状态方程就是: dp[i] = max(dp[i],dp[j]+a[i])(a[i]>a[j],且i>j,原创 2016-04-15 12:40:26 · 223 阅读 · 0 评论 -
【DP】HDU 1114
HDU 1144 Piggy-Bank 题意:有这么个存钱罐,给你空的时候重量和满的时候的重量,再给你N中类型的硬币(给出N种硬币总数量和总重量,可多次使用),问你怎样恰好填满存钱罐,而让填入的硬币数量最少。 思路:完全背包,求最少填入硬币数量,要把dp数组全部填充为INF,求min,注意结果要恰好填满。 dp[j]= min(dp[j],dp[j-w[i]]+v[i])(dp[j]代表当前原创 2016-04-15 19:17:47 · 192 阅读 · 0 评论 -
【DP】HDU 1176
HDU 1176 免费馅饼 题意:中文题目不解释。 思路:因为是从中间出发所以思路卡了许久,还在之前做了道HIHO入门的题。能想到的点,从时间思考,然后初始化1s的时候,4,5,6,的数值要特别赋值。之后就是统一的2-maxtime时间内,到当前位置就有能移动的三种情况,左移,右移,停留,比较前一秒情况的最大值+当前位置时间的馅饼值(maps[i][j]),最后求最大馅饼值得时候,要从maxti原创 2016-04-15 22:08:52 · 254 阅读 · 0 评论 -
【DP】HIHO 1078
HIHO #1037 : 数字三角形 题意:中文题就不说了。 思路:提示也很清楚,就这里贴一下代码。注意边界情况。 dp[i][j] = max(dp[i-1][j],dp[i-1][j-1])+maps[i][j] (maps[i][j]为坐标i,j房间奖券钱目) /** simple input 5 2 6 4 1 2 8 4 0 9 6 6 5 5 3 6simple outpu原创 2016-04-15 21:20:17 · 302 阅读 · 0 评论 -
【DP】HDU 1260
HDU 1260 Tickets题目意思:有N个人要买票,你可以一个一个人卖票,时间分别为Xs,也可以相邻两个人一起卖票,时间为Ys,从早上八点开始卖票,问你何时最早将N个人的票卖完。思路:解决情况是当前最优,要么就单卖,状态最优就是前一个人的,要么和前一个人一起拼凑,状态最优是前两个人的,取时间最短的。 时间显示问题,注意下上下午的事情就好了。 dp[i] = min(dp[i-1]+sig原创 2016-04-16 13:46:05 · 208 阅读 · 0 评论