天哪这道题竟然只有一篇题解! emm,首先读题看完两个操作就已经有很明确的思路了,显然是并查集+树的直径 一波解决. 并查集不多说了,如果不了解的可以看这里. 树的直径的思路很朴实,就是两边DFS(BFS也OK).具体先随便找一个节点,然后搜一遍,找到最远的,然后再搜一遍,这样合在一起就一定是最长的了. 不过呢这道题还是注意一下求直径的公式,具体如下: $D_new=max(D_u,D_v,[D_u/2]+[D_v/2]+1)$ 那个方括号指的是取整(没找到在哪里打出来). en除此之外好像没什…