摘要: 题目链接 按照等级我们可以建一颗树,如图 我们可以把一个节点当做一个人,每个节点都有一个权重。按照题目意思,如果我们取了某个节点,那么他的父节点和子节点都是不能取的。按要求选取节点,使得选取节点的权重和最大。 DP,用no表示不选择i点时,i点及其子树能选出的最多人数,is表示选择i点时,i点及其子树的权值和最大。状态转移方程:—对于叶子节点 dp[k].no = 0, dp[k].no = a[k].v—对于非叶子节点i,—dp[i].no = ∑max(dp[j][0], dp[j][1]) (j是i的儿子)—dp[i].is = v + ∑dp[j].no (j是i的儿子)代码:#... 阅读全文
posted @ 2013-04-26 15:40 xindoo 阅读(172) 评论(0) 推荐(0) 编辑