![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Tree DP
Yukar_syt
这个作者很懒,什么都没留下…
展开
-
Apple Tree POJ 2486
题意:Wshxzt从根节点1开始在苹果树上游历,树上的每个节点都会存在apple[i]个苹果,从一个节点到它的邻节点耗费步数1。现在Wshxzt可以步行step步,求她可以得到的最大苹果数量。题解:dp[0][i][j]表示以i为根节点步行j步,且最终回到i,可以得到的最大苹果数量。dp[1][i][j]表示最终不回到i可以得到的最大苹果数量。#include#include#in转载 2012-07-15 22:00:27 · 603 阅读 · 0 评论 -
TELE POJ 1155
状态转移方程: dp[v][1] = Money[v]; (v为叶子节点) dp[v][j] = max(dp[v][j],dp[v][j-i] + dp[k][i] - len);(v为非叶子节点,j表示用户个数,i为容量,k为v的子节点,len为边权) 算法复杂度O(sum(num[i],num[s])) (num[i]为转载 2012-07-15 21:58:04 · 689 阅读 · 0 评论 -
Bribing FIPA poj 3345 (map用法去重)
题目大意及思路:用最少的钱去收买m个国家,但国家这间有附属关系,如果收买了一个国家,它的附属国也被收买了,做法树形dp+背包,状态转移方程是:dp[u][k]=min(dp[u][k],dp[v][j]+dp[u][k-j]);#include#include#include#include#includeusing namespace std;const int maxn=转载 2012-07-16 20:27:02 · 570 阅读 · 0 评论 -
Distance in Tree
http://codeforces.com/problemset/problem/161/D//dp[i][j]表示以i节点为端点 且 长度为j的种数 #include#include#includeusing namespace std;int n,k;const int maxn=50006;typedef long long lld;int dp[maxn][505原创 2012-07-31 09:37:45 · 738 阅读 · 0 评论 -
Find Metal Mineral HDU
#include#include#includeusing namespace std;typedef __int64 lld;const lld INF=(lld)10000000*1000000;const int maxn=10005;lld dp[maxn][15];vector > edge[maxn];int N,S,K;bool vis[maxn];lld原创 2012-09-09 23:22:12 · 562 阅读 · 0 评论