![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树形DP
文章平均质量分 65
SYLG_li
这个作者很懒,什么都没留下…
展开
-
poj 1947 Rebuilding Roads(树形DP)
/*问题描述:给定n个点的树,最少删多少边,会有棵p个节点的树dp[i][j]代表以i为根(包含i),共j个节点需要切断的路的数量dp[i][j+k]=min(f[i][j+k],f[i.son[t]][k])(t为i的孩子) 树形DP+背包*/#include#include#include#include#define MAXSIZE 505000#define sf原创 2012-10-01 11:19:45 · 500 阅读 · 0 评论 -
poj 3140 Contestants Division
/*题意:给出一棵树,每个节点有一个权值,要求去掉一条边所能获得的两棵树的最小的权值差DFS遍历一遍,枚举断点,(简单题)*/#include#include#include#include#define MAXSIZE 105000#define sf scanf#define pf printf#define __int64 long long#define INF原创 2012-10-01 12:26:51 · 389 阅读 · 0 评论 -
NOI 警位安排(树形DP)
/*【题目描述】 一个重要的基地被分成了n个连通的区域,出于某种原因,这个基地以某一个区域为核心,呈一树形分布。 在每个区域里安排警卫的费用是不同的,而每个区域的警卫都可以望见其相邻的区域。如果一个区域有警卫或是被相邻区域的警卫望见,那它就是安全的,你的任务是:在确保所有的区域安全的状态下,使总费用最小。【输入格式】 第一行n,表示树中结点的数目。 接原创 2012-10-02 08:53:08 · 2599 阅读 · 0 评论 -
poj3342 Party at Hali-Bula
/*用dp[i][1]表示选择结点i时以i为跟结点的子树能得到的最大值,dp[i][0]为不选i时的最大值,则dp[i][0]+=max(dp[j][0],dp[j][1]),dp[i][1]+=sum{dp[j][0]},其中j为i的儿子;边界为d[k][1]=1,d[k][0]=0(k为叶子节点)本题比较难一点的是判断解得唯一性。我的判断方法是:如果dp[i][0]>=dp[i][1]原创 2012-10-10 11:38:59 · 518 阅读 · 0 评论