树形dp
PoemK
这个作者很懒,什么都没留下…
展开
-
zoj 3201 Tree of Tree 树形dp基础题——树形背包
Tree of TreeTime Limit: 1 Second Memory Limit: 32768 KB You're given a tree with weights of each node, you need to find the maximum subtree of specified size of this tree.Tree Defin原创 2015-08-15 22:56:40 · 735 阅读 · 0 评论 -
poj 3107 Godfather 求树的所有重心 树形DP基础题
GodfatherTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 5390 Accepted: 1880DescriptionLast years Chicago was full of gangster fights and strange murd原创 2015-08-16 10:11:33 · 368 阅读 · 0 评论 -
poj 1947 Rebuilding Roads 树形dp 删边类树形dp
Rebuilding RoadsTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 10070 Accepted: 4598DescriptionThe cows have reconstructed Farmer John's farm, with its原创 2015-08-15 23:41:56 · 348 阅读 · 0 评论 -
hdu 1054 Strategic Game 树形dp基础题,树的最小点覆盖
Strategic GameTime Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6114 Accepted Submission(s): 2843Problem DescriptionBob enjoy原创 2015-08-14 16:34:00 · 405 阅读 · 0 评论 -
SGU134 Centroid 树形DP基础题,求树的重心
134. Centroidtime limit per test: 0.5 sec. memory limit per test: 4096 KBYou are given an undirected connected graph, with N vertices and N-1 edges (a tree). You must find the cent原创 2015-08-04 09:35:56 · 529 阅读 · 0 评论 -
hdu 4118 Holiday's Accommodation 思维+树形dp
题目链接题意:给出一棵树(n<=1e5),边具有权值。现在每个城市中有一个人出发去另一座城市,不同人的目的不能相同。问路径和的最大值。解法:如果直接从子结构和问题上着手不好考虑。但是多分析机组数据会发现:对于任意一条边,将n个点划分为n1、n2两部分。为了使路径和尽可能大,那么两部分尽可能进行更多的交换,那么令m=min(n1,n2),这条边会经过2*m次。代码:#include<cstdio>#原创 2016-09-23 23:18:52 · 398 阅读 · 0 评论 -
hdu 5886 Tower Defence 树形期望dp 雪漫防守战
题意:风暴斗篷现在要攻打雪漫城。雪漫城有n(n≤100000)个哨塔防守,哨塔之间有n-1条路相连,(构成一棵树)。现在预测到风暴斗篷要进攻某一条路,然后这棵树就一分为二,现在要得到分开后的最长路。 图留斯将军假定进攻所有路的概率相等,问最长路的期望*(n-1)。 分析:这就是一个树形dp,和期望没什么关系。求的就是n-1种划分后的最长路之和。对于一个结点x,无非要求两个东西,以它作为根的子树中的原创 2016-09-17 21:22:38 · 984 阅读 · 0 评论 -
CF 708C. Centroids 树形dp
题目题意:给出一棵树(n<=4e5),可以有一次机会:删除一条边,然后添加一条边,使之仍然是树。 现在对于每个点,最多有一次机会,是否可以保证与它相连的子树大小不超过n/2。(删掉这个点后,所有连通分量的结点数<=n/2)解法:1.删去任一结点x,最多只会有一棵树的size>=n/2 2.对于这棵树的补救措施就是将其中一部分移到别处。 3.只能是一部分,因为全部移到别处更加不能满足要求。 4原创 2016-09-08 12:20:22 · 867 阅读 · 0 评论 -
CF 294E - Shaass the Great 树形dp
题目题意:给出一棵树(n<=5000n<=5000 ),n-1条边有权值,先要拆掉一条边,然后补上一条边,使得仍然是树,求所有两点对距离和的最小值。解:可能这题难度并不大,不过我做这题并不大顺利 由于看到n的数量级,复杂度不能超过O(n2)O(n^2),一开始想不到这什么巧妙算法,后来想到可以枚举边,如果枚举拆掉边+补上的边,时间复杂度已经远超O(n^2),后来一度想不出来。 最后发现,拆掉一原创 2016-08-27 22:28:58 · 848 阅读 · 0 评论 -
hdu 2412 基础树形DP 树的最大独立集
Party at Hali-BulaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2139 Accepted Submission(s): 753Problem DescriptionDear Con原创 2015-08-16 13:58:30 · 582 阅读 · 0 评论 -
hdu 4707 Pet 树形DP/DFS 简单题
PetTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1936 Accepted Submission(s): 942Problem DescriptionOne day, Lin Ji wake up原创 2015-08-25 19:41:11 · 475 阅读 · 0 评论 -
poj 3345 Bribing FIPA 树形背包
Bribing FIPATime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 4560 Accepted: 1424DescriptionThere is going to be a voting at FIPA (Fédération Internatio原创 2016-01-05 17:21:32 · 346 阅读 · 0 评论 -
ZOJ Problem Set - 3626 树形背包 水题
给一棵n个节点的树, 节点编号1~n, 每个节点有权值val[i],经过这个节点就可以获取这个价值(不能重复获得) 每一条边有一个花费值w(i,j), 表示走完i和j点的边要花费w(i,j) 现在要从k点出发,总花费值为m,问总花费不超过m的情况下并且最终要回到出发点,最多可以获取多少价值?原创 2016-01-05 12:18:18 · 442 阅读 · 0 评论 -
hdu 4003 Find Metal Mineral 树形DP:树形背包 ★ 好题
Find Metal MineralTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 3091 Accepted Submission(s): 1424Problem DescriptionHumans原创 2016-01-02 14:12:25 · 337 阅读 · 0 评论 -
HDU 4044 GeoDefense 树形dp:树形背包★
GeoDefenseTime Limit: 12000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1173 Accepted Submission(s): 513Problem DescriptionTower defense i原创 2016-08-02 08:15:59 · 635 阅读 · 0 评论 -
poj 1947 Rebuilding Roads 树形背包 ★
题大意是:给你一棵节点为n的树,问至少砍几刀可以孤立出一棵节点为m的子树。原创 2015-12-31 15:45:13 · 495 阅读 · 0 评论 -
poj 1155 TELE 基础题,树形背包
有一个电视台要用电视网络转播节目。这种电视网络是一树,树的节点为中转站或者用户。树节点的编号为1~N,其中1为总站,2~(N-M)为中转站,(总站和中转站统称为转发站)N-M+1~N为用户,电视节目从一个地方传到另一个地方都要费用,同时每一个用户愿意出相应的钱来付电视节目。现在的问题是,在电视台不亏本的前提下,要你求最多允许有多少个用户可以看到电视节目。原创 2015-12-30 20:29:53 · 447 阅读 · 0 评论 -
hdu 2196 Computer 树形DP 求每个点的最远点距离 两次dfs的经典树形dp
ComputerTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4945 Accepted Submission(s): 2481Problem DescriptionA school bought t原创 2015-12-23 11:49:29 · 620 阅读 · 0 评论 -
hdu 1520 Anniversary party 基础树形DP 树的最大独立集
Anniversary partyTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7575 Accepted Submission(s): 3323Problem DescriptionThere is原创 2015-12-22 23:56:54 · 456 阅读 · 0 评论 -
Codeforces 696B Puzzles 树形期望dp
题意:对一棵树进行dfs,求每个点访问次序的期望。解:对于父节点为x的子结点y1,y2,y3…ynE[yi]=E[x]+1+f(yi)E[y_i]=E[x]+1+f(y_i)f(yi)=p(0)E′(0)+p(1)E′(1)+p(2)E′(2)+...+p(n−1)E′(n−1)f(y_i)= p(0)E'(0)+p(1)E'(1)+p(2)E'(2)+...+p(n-原创 2016-08-17 16:38:22 · 604 阅读 · 0 评论 -
uva 1380 - A Scheduling Problem 一个调度问题 好难的动态规划
想不出来啊!!!,紫书上写的很清楚。1.利用题目给出的图论定理,先不考虑无向边,假如图中有向链的最大长度为K,那么答案为K+1或K+2(注意是K链的长度,答案是链包含点的个数)。2.考虑答案是否能为K+1,否则为K+2,即考虑给无向边定向,定向之后能否使最长链不超过K?进行动态规划来考虑:对于每一个结点in[x] 表示: 在定向后最长链不超过K的前提下,原创 2016-02-09 22:07:41 · 1267 阅读 · 0 评论 -
uva 10859 树形dp
题目:点我又学到了一种得到最优解新的方法,设函数y=kx+b,如果要得到一个x最小时,b也最小的解,不妨设一个k,让k至少要> (bMax-xMin),然后令dp[]=kx+b;这样求得最优解ans后,最小x=ans/k,最小b=ans%k;关于树形dp的这种问题,懒得多说。。。不过我看题目时,无向无环图,始终没弄明白就是森林,唉,然后就想不出来了,可悲原创 2016-02-05 22:10:08 · 339 阅读 · 0 评论 -
hdu 1011 Starship Troopers dp 带点坑的树形背包 ★
Starship TroopersTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17034 Accepted Submission(s): 4509Problem DescriptionYou, t原创 2016-07-26 09:20:44 · 654 阅读 · 0 评论 -
wustoj 1590: As Many Princesses as Possible 树形dp 好题 ★
#includeusing namespace std;#define all(x) (x).begin(), (x).end()#define for0(a, n) for (int (a) = 0; (a) < (n); (a)++)#define for1(a, n) for (int (a) = 1; (a) <= (n); (a)++)typedef long long ll原创 2016-04-26 21:51:51 · 878 阅读 · 0 评论 -
poj 2152 Fire dp 树形dp+暴力 ★★
FireTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 1402 Accepted: 747DescriptionCountry Z has N cities, which are numbered from 1 to N. Cities are co原创 2016-07-08 19:48:14 · 628 阅读 · 0 评论 -
POJ 3162 Walking Race TreeDP+双单调队列 ★
题意:求出树上每个点到最远点的距离,构成一个序列,然后找到最长的区间,满足其中最大值与最小值之差不超过M,输出区间长度。原创 2016-07-25 15:01:41 · 665 阅读 · 0 评论 -
2006 Asia - Kaohsiung Perfect Service 树形DP (uvaLive3685) ★
还有点意思装有服务器的结点没有什么要求但是对于没有装服务其的结点,要求仅与一个结点相连。对于一个结点,如果装有服务器,那么子结点装或者不装,如果不装服务器 ,1)如果父节点也不装,那么子结点中有且仅有一个装。 2)如果父节点装了,那么子结点都不能装。#includeusing namespace std;原创 2016-04-09 23:10:56 · 531 阅读 · 0 评论 -
poj 2486 Apple Tree 树形背包 ★
给出一棵苹果树,每个结点有一定的苹果,现在在结点1,最多走K步,问最多吃多少颗苹果。原创 2016-01-14 23:02:08 · 811 阅读 · 0 评论 -
POJ 3104 Contestants Division 删边类树形dp
给出一棵结点带权的树,删去一条边,问剩下两个连通块的权值之差最小为多少原创 2016-01-30 14:29:00 · 497 阅读 · 0 评论 -
poj 2378 Tree Cutting 树形dp (删点)
给出一棵树(size is n),问删去哪些点可以使剩下的连通块大小均不超过n/2原创 2016-01-30 12:47:26 · 465 阅读 · 0 评论 -
CF 219D. Choosing Capital for Treeland 树形DP
D. Choosing Capital for Treelandtime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe country Treeland consi原创 2016-07-26 10:00:25 · 1092 阅读 · 0 评论 -
hdu 4276 The Ghost Blows Light 树形dp 时间优化技巧
有n个房间构成一棵树结构,n-1条路都有权值,代表经过花费的时间,一个人在房间1,出口在房间n,T秒后这座房子将要倒塌。每个房间有一定价值的宝物,问逃出时最大可带走多少价值的宝物。原创 2016-07-31 10:44:57 · 423 阅读 · 0 评论 -
hdu 1561 The more, The Better 树形背包
The more, The BetterTime Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6661 Accepted Submission(s): 3923Problem DescriptionACboy原创 2016-01-01 00:35:18 · 278 阅读 · 0 评论 -
hdu 1011 Starship Troopers 树形背包 !!!原因不明wa?★★★☆
Starship TroopersTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15164 Accepted Submission(s): 4076Problem DescriptionYou, t原创 2015-12-31 12:52:53 · 427 阅读 · 0 评论 -
poj 2152 Fire 树形DP ★★★★
FireTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 1354 Accepted: 714DescriptionCountry Z has N cities, which are numbered from 1 to N. Cities are co原创 2015-12-30 13:10:05 · 428 阅读 · 0 评论 -
poj 1741 Tree 树形DP + 树分治 ★★★★
TreeTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 15090 Accepted: 4913DescriptionGive a tree with n vertices,each edge has a length(positive integer原创 2015-12-28 22:35:46 · 366 阅读 · 0 评论 -
hdu 5469 Antonidas 树形dp+暴力 ★
题意:给出一棵树,每个结点对应一个字符。现在给出一个字符串。问树上有无某两点的最短路能匹配该字符串。原创 2016-10-19 15:39:47 · 624 阅读 · 0 评论 -
CF 533 B. Work Group 树形dp
题目链接题意:给出一棵树(n<=2e5),每个点有权值,要求选出权值和尽可能大的点集,使每个点都能有偶数个后代结点被选进去(可以为0)。对于结点x,先处理子结点y1…yn初始化 dp[x][0]=0,dp[x][1]=-inf;dp[x][1]=max{ dp[x][0]+dp[yi][1],dp[x][1]+dp[yi][0] }; dp[x][0]=max{ dp[x][1]+原创 2016-09-07 18:03:04 · 421 阅读 · 0 评论 -
poj 3763 Tour in Wonder Land 树形dp ★★
题目题意: 给出一棵树(n<=1e5),求最少添加多少条边,使得能得到一条遍历所有点的哈密顿路径。(原题说是从点1出发,遍历每个点一遍,并且回到点1)这个题目又给我上了一课… 训练赛的时候想了2个小时,最后放弃了… 感觉自己想到了其中一部分,还差一部分。 首先这个题目要考虑的是一个环,容易想到先考虑链,最后加1。这个基本想到了。 之后基于链考虑就有两种状态,一种是从根结点出发,一种是非根结原创 2016-08-29 00:26:09 · 531 阅读 · 0 评论 -
Codeforces 280C Game on Tree 树形期望dp
题意:给出一棵树,每次可以拆掉一颗子树,问次数的期望。思路:删掉x点,将x点的贡献记为1,将x的后辈结点贡献记为0。 换句话说如果x点是作为根结点删掉的那么贡献为1,否则贡献为0。 现在的问题就是求∑f(i)=∑p(i)∗1+(1−p(i))∗0\sum f(i)=\sum p(i)*1+(1-p(i))*0 其中p(i)=1/depth(i)p(i)=1/depth(i)#include<c原创 2016-08-16 10:16:47 · 855 阅读 · 0 评论