![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树的重心
一介植树人
春桃无言,下自成蹊;冬梅不语,声及九霄
展开
-
POJ1741(树分治之点分治)——真男人8题系列
传送门题意:给你一颗树,这棵树有n个节点,问书中有多少个点对(u,v)他们的距离是小于K的。题解:树分治中的点分治。树分治入门系列。A:首先从无根树中随便找一个点为其根节点。然后我们讨论个点。符合题目要求的点对可以分为两种其一为:小于K的点对(u,v)的最小路径通过根节点root。(显然点对的最小路径,LCA(u,v) = root)其二为:小于K的点对(u,v)的最小路径不通过通过根...原创 2019-11-16 20:04:00 · 173 阅读 · 0 评论 -
HDU6567(树重心模板练习题)
传送门题意:给你两棵树,让你把这两颗树连接起来,要求连接起来的树的任意两个节点的距离最小题解:树重心模板训练题,找到这两颗树的树重心,然后连接,最后求一次,树中所有路径的长度。PS:因为没颗树的节点数是不清楚的,只有找到树的节点数才能DP找到树重心,所以要在重心之前DFS一遍找树大小,这里也可用并查集来实现。笔者在这里WA了10发。。。。AC-CODE#include <bits...原创 2019-11-09 16:56:40 · 412 阅读 · 0 评论 -
POJ1655 树重心模板题
传送门树重心:树的重心也叫树的质心。对于一棵树n个节点的无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。换句话说,删除这个点后最大连通块(一定是树)的结点数最小。题意:给你一颗树,找出这棵树的重心和对应的最大子树的节点数。题解:d[i]表示以i为节点的子树的节点数,然后d[i] = sum(d[j])+1,j的范围为i的子节点,一次dfs就可以了。code#i...原创 2019-11-08 20:08:19 · 390 阅读 · 0 评论