动态规划
文章平均质量分 55
始之无
这个作者很懒,什么都没留下…
展开
-
hdu2571 命运
解题思路:动态规划,从左上到右下 状态转移方程: d[i][j] = max(d[i-1][j], d[i][j-1], d[i][k]) + a[i][j] (k AC代码: #include #include #include #include #include using namespace std; #define clr(p,v) memset(p,v,s原创 2013-06-15 23:16:36 · 424 阅读 · 0 评论 -
hdu1087 Super Jumping! Jumping! Jumping!
解题思路:最大递增序列,动态规划 状态转移方程:d[i] = max(d[j]+a[i]) (0a[j]) AC代码: #include #include #include #include #include using namespace std; #define clr(p,v) memset(p,v,sizeof(p)) const int maxn = 101原创 2013-06-15 23:10:43 · 439 阅读 · 0 评论 -
hdu1176 免费馅饼
解题思路:动态规划 可以看成倒的塔,这个地方转换过来就快了,状态转移方程: d[i][j] = max(d[i+1][j-1], d[i+1][j], d[i+1][j-1]) 最后答案是d[0][6] AC代码: #include #include #include #include #include using namespace std; #define clr原创 2013-06-15 23:21:57 · 402 阅读 · 0 评论 -
hdu1422 重温世界杯
解题思路:动态规划 先预处理:对于每一个城市,生活费-花费,得到一个数。 接着就是求最大连续子序列和(这题是统计个数),这就算是经典问题吧。 状态转移方程: d[i] = d[i-1]+a[i] >= 0 ? d[i-1]+a[i] : 0 AC代码: #include #include #include #include #include using names原创 2013-06-16 23:29:10 · 702 阅读 · 0 评论 -
hdu2059 龟兔赛跑
解题思路:动态规划 状态转移方程: d[i] = max(d[k] + TT) (0 TT : k点充电,从k到i点距离时间 总共n+2点,n个充电站+起点+终点 AC代码: #include #include #include #include #include using namespace std; #define clr(p,v) memset(p,v,si原创 2013-06-17 23:59:51 · 481 阅读 · 0 评论 -
hdu1789 Doing Homework again
解题思路:动态规划 || 贪心 太水了,没想到贪心。。。还不会写贪心版。。。。动态规划的马马虎虎过。。。可能有漏洞 状态转移方程: d[i][j] = max(d[i-1][j], d[i-1][j-1]+b[i], d[i][j-1]) 条件:先按时间排序,少的在前,如果相同,罚的,大的在前 i : 第几个科目 j : 天数 b[] :罚的数量 AC代码: #i原创 2013-06-18 00:08:31 · 473 阅读 · 0 评论 -
第四届蓝桥杯C/C++B组第五题
从这次比赛体会到,ACM、编程这方面运气总是不对着我。第五题DP题,大部分推出来了,,不知怎的,比赛时脑抽了。 (1) (2) d[i] = 2^(i-1) 表示从 1 出发,2 结束的画法种数; f[i] = d[i] + 2*f[i-1] + 4*f[i-2] 表示从 1 出发, 到任意点结束的画法种数; 思路: 分成两部分: 1、四个角:4*原创 2013-07-16 23:33:40 · 598 阅读 · 1 评论