![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树形dp
笑对这个世界的志贵
这个作者很懒,什么都没留下…
展开
-
【求树的重心】POJ - 3107 Godfather
Problem Description 输入n,代表有n个编号1-n的结点。接下来有n行,每行输入u,v分别表示u,v有联系。让你找出Godfather,其实就是找出树的重心,如果有多个满足这样的点,从小到大输出。思路:第一次做,所以是去网上学习的方法,发现他们都归类为树形dp,然而我dp可能有点差,理解了代码但是没能理解为何是dp。具体的解释看代码里面的注释,,,树的重心(找到一个点,其所有翻译 2017-06-17 09:55:26 · 322 阅读 · 0 评论 -
【树形DP && O(n^2) 到 O(n^(3/2))巧妙优化】HDU - 5735 Born Slippy
Step1 Problem: 给你一棵 n 个节点的树以及点权 w[i], 给你 opt, 定义 f(s) 为 s 的祖先序列(包括 s) opt 和最大值 + w[s]. 输出 S = sum(s * f(s)), s = 1, 2, 3, …, n. 数据范围: 2 <= n <= 2^16, 0 <= w[i] < 2^16, opt = 与...翻译 2018-08-13 09:44:20 · 298 阅读 · 0 评论 -
【树 && 倍增求到祖先距离】Codeforces Round #480 (Div. 2) E. The Number Games
Step1 Problem: 给出一颗n个节点树,让你删除k个节点,使其还是一棵树,并且要求Σ(2^i)最大,i是剩下的节点的编号。题意参考 数据范围: 1 &lt;= k &lt; n &lt;= 1e6.Step2 Ideas: 显而易见,剩下的节点编号越大越好。 从编号大到小选择, 到第 i 节点 如果选择后 构成树的节点数量 没超n-k,则选择...翻译 2018-06-01 21:00:49 · 149 阅读 · 0 评论 -
【树形DP && 01背包】HDU - 1561 The more, The Better
Step1 Problem: 给你很多棵树,一共有N个节点, 树上节点有若干个宝物,你想获取该节点宝物,你就必须先获取该节点父亲的宝物。你只能获取M个节点的宝物,求获取宝物最大数量。Step2 Involving algorithms: 树形DP &amp;&amp; 01背包Step3 Ideas: 用0节点 将很多棵树 连接成一棵树。 状态dp[u][...翻译 2018-04-25 10:20:13 · 177 阅读 · 0 评论 -
【树形dp】CodeForces - 767C Garland
Problem Description 输入n代表有n个灯泡。接下来n行,第i行 给你i的父亲灯节点,和i这个灯的温度。 问你能不能用剪刀,剪两刀,将其分成三个部分,使得每个部分的温度和相等。 如果可以输出剪的边的儿子点。 否则输出-1。思路: 自己强行用dfs模拟出来了,看了学长的代码突然发现自己弄麻烦了,因为它就是一棵树。 找出根节点,然后dfs遍...翻译 2017-11-24 21:43:48 · 268 阅读 · 0 评论 -
【树形DP && 该点到其它n-1要逆转的道路最少】CodeForces - 219D Choosing Capital for Treeland
Step1 Problem: 给一个n节点的有向无环图,要找一个这样的点:该点到其它n-1个点要逆转的道路最少,如果有多个点满足,按序号从小到大输出。 逆转: v 可以到达 u, u 想要到达 v 就需要逆转道路。Step2 Involving algorithms: 树形DPStep3 Ideas: 核心思路:把边的方向化为权值,正向为1,逆向为0。 ...翻译 2018-04-23 11:04:50 · 245 阅读 · 0 评论 -
【树形DP && 求树上每个点能到达的最远距离】HDU - 2196 Computer
Step1 Problem: 给你一棵n个节点的树,求每个点的最远距离。Step2 Involving algorithms: 树形DPStep3 Ideas: 求出一个点,子树方向的最远距离 和 父亲方向的最远距离,取最大值就是该点的最远距离。 子树方向的最远距离,一遍dfs回溯更新就求出来了。 核心是 父亲方向的最远距离 状态 dist[u...翻译 2018-04-23 10:28:38 · 1184 阅读 · 2 评论 -
【树 && 思维】HDU - 5927 Auxiliary Set
Step1 Problem: 给一棵n个结点的树,有q次询问,每次询问给出那些点是不重要的点,求重要点的个数。 不重要的点,是两个重要点的lca,那么不重要点 变为 重要的点。 数据范围: 1<=n<=1e5, 0<=q<=1e5Step2 Involving algorithms: dfs 树 思维Step3 Ideas:...翻译 2018-04-18 21:41:45 · 176 阅读 · 0 评论 -
【树形DP】ZOJ - 3949 Edge to the Root
Step1 Problem: 给出一颗根为 1 的树,每条边边长为 1,请你从根连一条边到某个点,使得根到各点距离的总和最小,求这个最小距离。 数据范围: 1<=n<=2e5Step2 Involving: 树形DPStep3 Ideas: 假设 1 到 x 连边,受影响的只有 1 和 x 中点往下的点。 例如:一条链长度为 n,给...翻译 2018-04-17 10:38:51 · 131 阅读 · 0 评论 -
【树上ST表】Gym - 101889I Imperial roads
Step1 Problem:给你 n 个点,m 条无向边,边有边权。有 Q 个询问:询问给出一条边:u, v,让你输出包含 u, v 这条边的最小生成树的花费。数据范围:2 <= n <= 1e5, n-1 <= m <= 2e5, 1 <= Q <= 1e5.Step2 Ideas:对于给定的图,找出最小生成树,和最小生成树边权和 sum。...翻译 2018-10-03 13:17:30 · 657 阅读 · 0 评论