摘要: 题目链接:https://vjudge.net/problem/POJ-2486 题意:一棵点权树,起点在1,求最多经过m条边的最大点权和。 思路: 树形dp经典题。用3维状态,dp[u][j][0/1]表示在子树u中走j步的最大价值(回到u/不回到u)。显然dp[u][j][1]>=dp[u][j 阅读全文
posted @ 2019-09-04 21:46 Frank__Chen 阅读(283) 评论(0) 推荐(0)
摘要: 题目链接:https://vjudge.net/problem/HDU-4003 题意:给一棵边权树,在树根s有m个人,要通过m个人遍历到所有点,一个人经过一条边花费为边的权值,求最小花费(可以走已经走过的边)。 思路: 状态比较好想,用dp[u][j]表示在u结点的子树中有j个人的最小花费。但转移 阅读全文
posted @ 2019-09-04 13:43 Frank__Chen 阅读(161) 评论(0) 推荐(0)
摘要: 题目链接:https://vjudge.net/problem/HDU-1561 题意:给一个森林,每个结点有个权值,求选m个结点的最大权值和,并且选子结点前必须先选父结点。 思路: 把每颗树的树根连在0号结点上,那么就是一棵树了,最后求选m+1个结点的最大权值即可。状态很好想,用dp[u][j]表 阅读全文
posted @ 2019-09-04 11:10 Frank__Chen 阅读(120) 评论(0) 推荐(0)