树形DP
文章平均质量分 90
C202207xiaofang
保加利亚希望中学附属光明小学优秀毕业生
展开
-
To_Heart—题解——CF1632E2
我们一般称做出这种题的人为:神仙!原创 2022-07-14 21:28:02 · 103 阅读 · 0 评论 -
To_Heart—题解——CF1016F
good 题!原创 2022-07-14 16:58:28 · 122 阅读 · 0 评论 -
To_Heart—总结——树形DP
作为一名合格的 OIer ,一定要有自我总结的意识,一定要通过写博客的方式来验证自己的掌握程度————沃.茨基硕德今天,带大家来看一下树形DP树形DP,顾名思义,则是在树上做D动态规划:在树上设计动态规划算法时,一般就以节点从深到浅(子树从小到大)的顺序作为DP的阶段。DP的状态表示中,第一维通常是节点编号(代表以该节点为根的子树)。大多数时候,我们采用递归的方式实现树形动态规划。对于每个节点x,先递归在它的每个子节点上进行DP,在回溯时,从子节点向节点x进行状态转移。废话有点多,因为这种定义性原创 2020-10-04 15:26:05 · 85 阅读 · 0 评论 -
To_Heart—题解——树的直径
定义给定一棵树,树中每条边都有一个权值,树中两点之间的距离定义为连接两点的路径边权之和。树中最远的两个节点(两个节点肯定都是叶子节点)之间的距离被称为树的直径,连接这两点的路径被称为树的最长链。后者通常也可称为直径。思路我们设1号节点为根节点,那么最短路径则是到根节点最远的一个节点与次远的一个节点的距离之和代码#include<bits/stdc++.h>using namespace std;const int MAXN=100005;const int MAXM=100000原创 2020-10-04 15:09:17 · 154 阅读 · 0 评论 -
To_Heart—题解——树的重心
解释:树的重心定义为树的某个节点,当去掉该节点后,树的各个连通分量中,节点数最多的连通分量其节点数达到最小值思路首先,我们得明白一个性质:删除重心后所得的所有子树,节点数不超过原树的1/2;这不是废话通过这个性质,我们可以对重心进行求解树上任选一点i,进行DFS,并统计该点所有子树的大小和以它为根的子树的大小,这样也就可以得到一个点所有子树的大小及的大小,如果它的大小大于了原树的一半,就说明它不是重心还有一个问题,如果这个点不是根节点,那么删掉后剩下的连通块不止有他的子树,还有他上面的部分,原创 2020-10-04 15:06:23 · 146 阅读 · 0 评论 -
To_Heart—题解——没有上司的舞会
题目描述Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起参加宴会。输入格式第一行一个整数N。(1≤N≤6000)接下来N行,第i+1行表示i号职员的快乐指数Ri。(-128≤Ri≤127)接下来N-1行,每行输入一对整数L,K。表示K是L的直接上司。最后一行输入0,0。输出格式第1行:输出最大的快乐指数。样例样例原创 2020-10-04 14:55:23 · 442 阅读 · 0 评论