hdu1561 The more, The Better 树形DP+分组背包
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561思路:典型的树形背包题目:定义dp[i][j]表示以i为根节点,攻打j个城堡的获得的财宝的最优值,那么dp[i][j]=max(dp[i][j],dp[son][k]+dp[i][j-k]) 其中son为i的儿子然后从叶子节点往上进行背包即可刚接触的同学会有疑问:就是不知道怎样将题目中的数据建为一个树,其实很简单,只要把0作为根结点即可 0节点的value初始化为0然后dp[0][m+1]即为求得的答案,是不是很简单啊。。。。注意初始化。代码如下: 1 #include 2 #include 阅读全文
posted @ 2013-08-18 18:20 GyyZyp 阅读(151) 评论(0) 推荐(0) 编辑