![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树形dp
ivancr
这个作者很懒,什么都没留下…
展开
-
HDU 2196
题意:有n台电脑,他们之间连着线,之间具有权值,问每一台电脑到哪台电脑的权值最大。分析:这n台电脑的关系可以构成一棵树,问题即问到叶子结点的最远距离是多少。 设dp(i,0)表示以i为子树的最远叶子结点距离,dp(i,1)表示以i为子树的次远叶子结点距离,dp(i,2)表示tree(root)-tree(i)的最远距离+dis(root,i),root为i的父节点原创 2015-10-23 15:22:37 · 346 阅读 · 0 评论 -
poj2342
题意:公司开晚会,每个人都有对应的活跃度,他们都不希望自己的上司来,邀请哪些人能使活跃度最大分析:dp(i,0)表示第i个人不来 dp(i,1)表示第i个人来 dp(root,1) += dp(i,0) 上司来了,那么下属就不回来 dp(root,0) += max(dp(i,0),dp(i,1))原创 2015-10-22 23:44:56 · 774 阅读 · 0 评论 -
HDU 1561 树形dp+背包
分析:攻下一座城堡的前提是要先攻下它的前驱城堡,建立一个以0为根结点的树,他的权值为0 dp(i,j)表示以i为根结点去j个的最大值。 dp(i,1) = v[i] (v[i]为攻下i城堡获得的宝藏) 对与u结点取j+1个,可以转化为以孩子i为根取k个+以自己为根取j+1-k个和自己取j+1个的最大值 (为什么是j+1,因为建立了一个虚拟结点0,所原创 2015-10-23 21:35:05 · 298 阅读 · 0 评论