树形dp
高凌霄
这个作者很懒,什么都没留下…
展开
-
hdu 1520 Anniversary party
树形dp。 dp[i][1]表示第i个雇员参加party能获得的最大活跃积分,dp[i][0]表示第i个雇员不参加Party能获得的最大活跃积分。 即得状态转移方程: dp[i][0]+=max(dp[k][0],dp[k][1]) dp[i][1]+=max(dp[k][0]); //k表示第i个雇员的直接下属 (若第i个雇员去参加party,则要加上本身的活跃积分原创 2015-10-21 15:32:08 · 300 阅读 · 0 评论 -
hdu 2196 computer(树形dp)
大家可以看看这个博客:http://blog.csdn.net/woshi250hua/article/details/7642536 题目较难。 题目大意:给一棵树,每条树边都有权值,问从每个顶点出发,经过的路径权值之和最大为多少?每条树边都只能走一次,n <= 10000,权值<=10^9 如何 思路:比较复杂的树形DP,刚看到题目一点思路都没有,但一想金华赛区的那道B题,似乎有点相似,转载 2015-10-22 17:07:41 · 285 阅读 · 0 评论 -
poj 3345 Bribing FIPA
比赛的时候做的这题,坑爹的,我这近段时间一直学树形dp,结果这唯一一道树形dp的题目我居然没看懂!! 这道题dp部分比较容易想出来,难点是输入格式,一直runtime error。 dp[v][j]:在结点v与它的子孙结点中选出j个城市需要付出的最小代价。dp[v][j]=min(dp[v][j],dp[son][k]+dp[v][j-k]);//son为v的一个子结点n和m的输入建议用ssca原创 2015-11-23 23:08:09 · 1024 阅读 · 0 评论 -
poj 1155 TELE (树形dp)
题目链接:http://poj.org/problem?id=1155 参考了这位acmer的,我用的是vector的方法:http://blog.csdn.net/woshi250hua/article/details/7635680 dp[i][j]:以结点i为根节点时拥有j个客户的最大价值。 当结点i为叶子结点时,dp[i][1]=money[i]; 当结点i非叶子结点,dp[i][j]=原创 2015-11-15 01:10:05 · 302 阅读 · 0 评论