摘要:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1561很明显这是个分组的有依赖的背包问题(背包问题的扩展请参考Tianyi Cui 的背包九讲http://love-oriented.com/pack/)。构建树:若攻击城堡 a 要先攻击城堡 b,则 a 是 b 的儿子,这样构建以后是一个森林,添加一个宝物数量为0的节点作为整个森林的树根以后就是一颗树了。递推方程:设dp[a][b] 表示以 a 为根节点的子树,要攻击 b 个城堡所获得的最大金钱数目。其中 a 城堡是已经攻下来的。 则 dp[a][b] = max( dp[a][b]... 阅读全文