题面 考虑对时间分治,假设当前进行到 [ l , r ] [l,r] [l,r],则将完全包含 [ l , r ] [l,r] [l,r]的区间加入,其余区间分类,等到进入左右子区间时处理 显然有一个结论,两棵树合并,新的直径的两个端点一定是原来两棵树的四个直径端点的其中两个 并查集存一下直径端点即可 退出当前区间时记得还原 Code