树形DP
文章平均质量分 61
cervoliu
这个作者很懒,什么都没留下…
展开
-
【JZOJ 4814】【NOIP2016提高组 五校联考2】tree
Description给一棵n 个结点的有根树,结点由1 到n 标号,根结点的标号为1。每个结点上有一个物品,第i 个结点上的物品价值为vi。 你需要从所有结点中选出若干个结点,使得对于任意一个被选中的结点,其到根的路径上所有的点都被选中,并且选中结点的个数不能超过给定的上限lim。在此前提下,你需要最大化选中结点上物品的价值之和。 求这个最大的价值之和。原创 2016-10-10 20:27:25 · 405 阅读 · 0 评论 -
子树合并背包类型的dp的复杂度证明
状态形如f[x][j]f[x][j]f[x][j]表示xxx子树内选了jjj个,转移形如f[x][j+k]=∑f[x][j]∗f[y][k]f[x][j+k]=∑f[x][j]∗f[y][k]f[x][j+k]=\sum f[x][j]*f[y][k] 假设树上有n个点,第二维限制为k(最多选k个) 我们熟知,这样dp复杂度上界是n^2的。因为合并大小为a,b的子树复杂度是a*b,可以看成a子...原创 2018-04-08 16:48:51 · 6837 阅读 · 4 评论 -
【JZOJ 5484】 快乐树
Description给出一棵以0为根的树,从根出发,走过一些节点。 每个节点有一个得分,可能正可能负,可以重复经过节点,但是只有第一次经过会改变当前得分。 如果当前得分为负,会马上变成0. 求最大得分。 对于100%的数据,n<=1000,快乐度均为绝对值不超过1,000,000的整数。AnalysisSB树形DP,搞了一个星期数据结构智商以下线 而且这题目故意把n开1000,说不定开100原创 2017-11-26 14:39:02 · 229 阅读 · 0 评论 -
【JZOJ 5496】 Tree
Description n<=3000O(n^3)可以发现的结论:最优策略下,贡献形如选的k个点形成的虚树的边权和*2-选的k个点的直径 可以枚举直径,再树形背包,应该能弄到O(n^3)O(n^2)从直径入手 令H[x][k]H[x][k]表示 x 的子树内选择了 k 个点, 并且这 k 个点的直径两端都不是 x , 构成的虚树总边长的最小值 ×2− 直径的长度的最小值。 有了这个便能求出答原创 2017-12-10 16:53:20 · 357 阅读 · 0 评论 -
【BZOJ 3060】【POI2012】Tour de Byteotia/【JZOJ 5442】 荒诞
Description有一个n个点,m条边的无向图,选择第i个点的代价为ci 特别地,这张图中的任意两点间不存在节点数超过10的简单路径。 要求选择一些点,使得最后每个点要么自己被选,要么直接相连中的点至少有一个被选,且使得代价和最小 对于100%的测试点,满足1<=n<=2*10^4,0<=m<=2.5*10^4,0<=ci<=10^4Analysis这是一道把npc问题带上特殊性质,从而使原创 2017-11-02 16:01:01 · 288 阅读 · 0 评论 -
【口胡】【坑:对偶问题】【Codeforces 671D】【JZOJ 5369】 幽雅的绽放吧,墨染之樱
Description给定一颗N个节点的树,现在有M个工人,每个工人有三个属性ui,vi,Ci,表示这名工人可以维修节点ui到节点vi的所有路径,花费为Ci,并且保证vi是ui的祖先(祖先后代链)。问最少花费多少使得树上的每条边都有人维修。 N,M≤300000 Ci≤10^9Analysis设f[i]表示做完i的子树及i向其父亲的边,所需最小代价 考虑一条祖先后代链的贡献,链顶为x,链底为原创 2017-10-31 22:31:05 · 385 阅读 · 0 评论 -
【JZOJ 5050】 颜色树
Description思源湖畔有一棵树,那是独孤玉溪最喜欢的地方。 传说中,这棵不见边际的树有N个节点,每个节点都有1片叶子,每片叶子都拥有K种颜色中的一种,独孤玉溪喜欢爬到这棵树上,沿着一条路线摘叶子,并拥有所有颜色的叶子。 独孤玉溪会选择一个起点,并沿着树边走,然后最终停在一个终点上(起点和终点可能相同),当然了每一个结点只能经过一次(每一片叶子只能摘一遍)。独孤玉溪突生奇想,有多少种不同的原创 2017-04-24 12:53:29 · 734 阅读 · 0 评论 -
【JSOI2014】【JZOJ 3861】支线剧情2
Description Analysis树形DP模型显然,比赛的时候时间不够(为什么只有linli一个人切?我们都太弱了QAQ) DP方法很多,这里讲最容易想到的 sum[v]表示从v开始把v的子树内的点全部走完不存档的时间 对于一个点的答案f[v],有很多种情况 如果v点打标记,那么对于它所有儿子,不重新开始的话至多有一个打标记(最后走) 如果多于一个的话就要加上从根开始的路径 类似原创 2017-01-17 21:05:09 · 657 阅读 · 0 评论 -
【JZOJ 4887】最大匹配
Descriptionmhy12345学习了二分图匹配,二分图是一种特殊的图,其中的点可以分到两个集合中,使得相同的集合中的点两两没有连边。 图的“匹配”是指这个图的一个边集,里面的边两两不存在公共端点。 匹配的大小是指该匹配有多少条边。 二分图匹配我们可以通过匈牙利算法得以在O(VE)时间复杂度内解决。 mhy12345觉得单纯的二分图匹配算法毫无难度,因此提出新的问题: 现在给你一个N原创 2016-11-30 19:53:02 · 785 阅读 · 0 评论 -
【JZOJ 4816】【NOIP2016提高组 五校联考4】label
Description Analysis首先,40分的dp很容易想,设f[i][j]表示给i的子树做完,给i赋j的方案数。 f[i][j]=∏v∈son(i)f[v][x](|x−j|≥k)f[i][j]=\prod_{v\in son(i)}f[v][x](|x-j|\geq k)Code#include<cstdio>#include<cstring>#include<algorithm原创 2016-10-10 22:08:34 · 455 阅读 · 0 评论 -
【Codeforces 1097G】Vladislav and a Great Legend
Description原题链接Analysis∑Xf(X)k=∑X∑i=0kS(k,i)i!(f(X)i)\sum_{X}f(X)^k=\sum_X \sum_{i=0}^k S(k,i) i! {f(X) \choose i}X∑f(X)k=X∑i=0∑kS(k,i)i!(if(X))考虑对于i=1…k,dp出(f(X)i){f(X) \choose i}(if(X))dp选...原创 2019-01-05 20:55:37 · 389 阅读 · 0 评论