树的重心
不哭的超人
愿你孤独的努力终有回报,愿你前行的路上有人相伴。
展开
-
C. Link Cut Centroids
C. Link Cut Centroids 题解: 这题运用到了树的重心的性质 一棵树最多有两个重心,且相邻。 如果找到的重心只有一个,那么只要任意选择一条边删除、添加就可以了。 如果找到的重心有两个x,y,x1与相连接且x1!=y,那么只要去掉x~x1,添加x1 ~y. #include<bits/stdc++.h> #include<algorithm> #include<iostream> using namespace std; typedef long long原创 2020-10-19 15:31:43 · 380 阅读 · 0 评论 -
树的重心
树的重心 树的重心也叫树的质心。找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡。 第一项,性质 树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个重心,他们的距离和一样。 把两棵树通过一条边相连,新的树的重心在原来两棵树重心的连线上。 一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。 一棵树最多有两个重心,且相邻。 题目:C. Link Cut Centroids 第二项 ...原创 2020-10-19 15:31:57 · 137 阅读 · 0 评论