树形DP
_pkm_
love coding
展开
-
HDU1561 The more, The Better(树形依赖背包)
题目链接 题意:略 解法:09《浅谈几类背包问题》有详解#include<cstdio> #include<algorithm> #include<vector> #include<cstring> #include<string> using namespace std; const int maxn=205; #define LL long long #define pb push_back原创 2015-12-08 18:29:27 · 399 阅读 · 0 评论 -
HDU1520Anniversary party(入门树形DP)
题意:给出了,参加party的人的关系,但是如果一个人的直接上司出席,那么他就不会出席,每个人有自己的rating。现在想要rating最大。在网上找了半天,也没找到比较好的树形DP讲解,暂时的感觉是利用DFS搜索的时候,回溯更新。 1.dp[u][0]:表示u这个人不去,那么他的手下v可以选择去或者不去。所以 dp[u][0]+=max(dp[v][0],dp[v][1]); 2.dp[i][原创 2015-08-29 16:12:39 · 645 阅读 · 0 评论 -
HIHO #1055 : 刷油漆(树形dp 入门)
题目链接 入门的话还是看09《浅谈几类背包问题》 = =。 设dp[u][j] : 表示对于,以编号是u的节点为根的子树,选择不超过j个节点,可以获得的最大的价值。 状态的转移:dp[u][j]=max( dp[u][j] , dp[v_i][j-1] ) + value[u](v_i是u的儿子,j>=1) 方程是类似完全背包的,儿子节点,使用dfs遍历一遍。 选择儿子节点的原创 2016-08-08 20:14:54 · 377 阅读 · 0 评论