树型dp经典题
思路:
当然是树型dp
设d[i][0/1]为以i为根的子树, i是否参加的最优解
如果i参加, 则i的下属不会参加, 即d[i][1]等于d[son(i)][0]中和的最大值
如果i不参加, 则i的下属可参加可不参加, 即d[i][0]等于d[son(i)][0/1]中和的最大值
最终答案为d[root][1]与d[root][0]中的最大值
具体实现看代码
代码:
1 |
|
树型dp经典题
当然是树型dp
设d[i][0/1]为以i为根的子树, i是否参加的最优解
如果i参加, 则i的下属不会参加, 即d[i][1]等于d[son(i)][0]中和的最大值
如果i不参加, 则i的下属可参加可不参加, 即d[i][0]等于d[son(i)][0/1]中和的最大值
最终答案为d[root][1]与d[root][0]中的最大值
具体实现看代码
1 | #include <iostream> |