connect 题解

简要题意:给定一张森林,\(q\) 组询问,求用一条边把树 \(T_1\) 与树 \(T_2\) 连起来的最小直径。

如果想要让连接之后的树的直径最小,则必定选择两棵树的直径的中点,所以连接出的树的直径就是 \(\max\left\{\left\lceil \dfrac{d_1}{2}\right \rceil+\left\lceil \dfrac{d_2}{2}\right \rceil+1,d_1,d_2\right\}\)

树的直径有性质“若树上所有边边权均为正,则树的所有直径中点重合”,这也是保证上述结论正确的关键。

两棵树的合并可以用并查集来维护,这个应该很好写。

posted @ 2023-02-13 21:31  lnlmz  阅读(28)  评论(0)    收藏  举报