
树形DP
文章平均质量分 93
nike0good
这个作者很懒,什么都没留下…
展开
-
AtCoder Beginner Contest 369 题解
A - 369#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int i=n;i>=k;i--)#define Rep(i,n) for(int i=0;i<n;i++)#define ForD(i,n) for(原创 2024-09-01 21:53:26 · 1253 阅读 · 0 评论 -
CF 462D(Appleman and Tree-树形dp)
题意:一棵n个节点的树(根为0),树上有一些点是黑色的,你希望删除一个边的集合,使每个剩下的联通块都恰好只有1个黑节点。求方案数。dp[x][0]dp[x][0]表示对于节点i的子树的一个划分,x所在的联通块无黑节点 dp[x][1]dp[x][1]表示对于节点i的子树的一个划分,x所在的联通块有黑节点然后转移,考虑x的每个子树是否与x在同一连通块、#include<bits/stdc++.h>原创 2017-12-10 04:10:34 · 362 阅读 · 0 评论 -
NWERC 2013
B Battle for Silver容易发现答案最多有4个点,枚举所有4个点一下的完全图。#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int原创 2017-10-13 00:47:10 · 410 阅读 · 0 评论 -
HDU 5293(ZYB's Tree-DP)
给一棵树,对于每一个点,求出离每个点距离不超过K的点的个数. 1≤N≤500000,1≤K≤10树分治太慢了,直接统计多好原创 2015-12-11 15:58:03 · 667 阅读 · 0 评论 -
HDU 5483(Nux Walpurgis-一定在MST中的边)
给定一张n≤3000 n \leq 3000 的完全无向图,已知边权,求一定在MST上的边的边数先求出MST, 然后令f[roo][i] f[roo][i] 表示以roo为根,是否存在一条非树边(roo,v) (roo,v)其与树链 (roo,x) (roo,x)构成环(roo→x→v→roo) (roo\to x \to v \to roo) 然后对于一条边(x,v) (x,v),然后让v的子原创 2015-10-03 21:43:36 · 903 阅读 · 0 评论 -
HDU 5468(Puzzled Elena-mobius+树形dp)
一颗树每个点上有点权,求每个点与它子树中的点的点权是否互质。cnt(d)cnt(d)表示i的倍数出现次数,则答案=∑d|viμ(d)cnt(d)\sum_{d|v_i} \mu(d) \mathrm {cnt}(d) dfs 的时候后减前即可。由于2∗3∗5∗7∗11∗13>1052*3*5*7*11*13\gt 10^5 , 所以一个数的质因子数不超过6个 复杂度可以保证#include<cs原创 2015-10-01 22:58:34 · 888 阅读 · 0 评论 -
HDU 5469(Antonidas-树上匹配字符串)
在一个树上(1≤N≤104)(1≤N≤10^4)匹配字符串直接暴力树dp用map存, 时间可卡过,记得递归后清map防止MLE#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<functional>#include<iostream>#include<cmath>#include原创 2015-09-28 21:27:43 · 1103 阅读 · 0 评论 -
HDU 4916(Count on the path-树上除链上的节点外最小值[强制在线])
Count on the pathTime Limit: 5000/2500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 866 Accepted Submission(s): 219Problem Descriptionbobo has a t原创 2015-09-03 20:24:19 · 1174 阅读 · 0 评论 -
HDU 5379(Mahjong tree-树形dp统计标号)
Mahjong treeTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1460 Accepted Submission(s): 445Problem DescriptionLittle sun is an a原创 2015-08-26 20:31:35 · 1000 阅读 · 0 评论 -
HDU 5148(Cities-树上背包)
CitiesTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 670 Accepted Submission(s): 198Problem DescriptionLong long ago,there is a原创 2015-05-21 23:46:34 · 1266 阅读 · 0 评论 -
HDU 5005(Compromise-双人目标为最大化不同值的博弈)
CompromiseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 155 Accepted Submission(s): 47Problem DescriptionXiaoqiang and Amoeba (原创 2014-10-07 22:15:55 · 1576 阅读 · 0 评论 -
CF 455B(A Lot of Games-树上博弈)
B. A Lot of Gamestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAndrew, Fedor and Alex are inventive guys.原创 2014-08-10 13:16:19 · 1580 阅读 · 0 评论 -
BZOJ 2878([Noi2012]迷失游乐园-树形DP+环加外向树+期望DP+vector的erase)
2878: [Noi2012]迷失游乐园Time Limit: 10 Sec Memory Limit: 512 MBSec Special JudgeSubmit: 319 Solved: 223[Submit][Status]Description放假了,小Z觉得呆在家里特别无聊,于是决定一个人去游乐园玩。进入游乐园后,小Z看了看游乐园的地图,发现可以将游乐园抽象原创 2014-06-16 16:45:11 · 1987 阅读 · 0 评论 -
CF 337D(Book of Evil-distdown[]-distup[])
D. Book of Eviltime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPaladin Manao caught the trail of the ancie原创 2013-08-17 23:19:49 · 2745 阅读 · 0 评论 -
BZOJ 2067([Poi2004]SZN-树形DP-树链最小覆盖及其最长线最小解)
2067: [Poi2004]SZNTime Limit: 10 Sec Memory Limit: 64 MBSubmit: 48 Solved: 24[Submit][Status]DescriptionString-Toys joint-stock 公司需要你帮他们解决一个问题. 他们想制造一个没有环的连通图模型. 每个图都是由一些顶点和特定数量的边构成. 每个顶原创 2013-07-24 21:08:27 · 2749 阅读 · 0 评论 -
CF 23E(Tree-树-背包合并)
Problem 2 树(tree.cpp/c/pas)【题目描述】L发明了一种与树有关的游戏(友情提醒:树是一个没有环的连通图):他从树中删除任意数量(可以为0)的边,计算删除后所有连通块大小的乘积,L将得到这么多的分数。你的任务就是对于一颗给定的树,求出L能得到的最大分数。【输入格式】第一行一个整数n,表示树的节点个数。 接下来n-1行,每行两个整数a[i],b[i](原创 2013-03-22 16:13:22 · 1855 阅读 · 0 评论 -
POJ 2152(树形DP)
这题告诉我一个道理:数组开得太小会出现Time Limit Exceeded言归正传:这题的DP方程是f[x,i]:=w[i]+∑(best[y],f[y,i]-w[i]) //f[x,i]指 x 的供应站为 i 时,x子树全取的最小代价best[y]表示min(best[y,i]) 预处理y为x的儿子如果x的子树有重叠的供应站,那么这个供应站只能是x的供应站i多叉树可以用原创 2012-08-05 12:01:03 · 1080 阅读 · 0 评论