![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
_bcxbg_
这个作者很懒,什么都没留下…
展开
-
HDU 1024 Max Sum Plus Plus【DP】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024给定一个n个数的数组,求其分成m个不相交子段和最大值的问题。很容易感觉是dp(咳咳。。从dp专题刷的题好意思说= =)num是给定数组,dp[i][j]表示前i个数在选取第i个数的前提下分成j段的最大值,其中1<=j<=i<=n && j<=m,状态转移方程为 dp[i][j]=max(dp[i原创 2015-08-10 17:20:16 · 207 阅读 · 0 评论 -
Contest 7 1007 Gray code【DP/贪心】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5375这题倒是不难,然而被笔误折腾死了TAT还被无良队友坑了两顿大餐~~ 做法有两种我都尝试了一下。 第一种是动态规划,用dp[n][2]的数组,0、1分别是可能的数字,不能取0或1时赋值为-1作为标识。状态转移很好理解,方程看程序一即可。 第二种比较巧,算贪心吧?(就是这题笔误WA了好几遍TAT原创 2015-08-16 18:28:08 · 280 阅读 · 0 评论 -
7.8.实验 解题参考
ProblemA(HDU2084) 这题题目都说了经典DP 由上往下推,由于结果状态多,不好处理。无疑由底往上推比较方便,都归于一个起点,只需要算出由底往上得到的最大价值即可。 方程:dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+a[i][j];#include <stdio.h>#include <string.h>#include <algorithm原创 2016-07-08 11:11:11 · 336 阅读 · 0 评论