题目链接
题解
枚举断开哪一条边,然后对剩余的两棵树分别做一遍换根法树形dp
需要求出每个点到树中其它点距离的最大值
\(f[i]\)和次大值
\(g[i]\)【用以辅助换根计算最大值】
求出每棵树中的最长路径,然后再将两棵树中
\(f[i]\)最小值相连保证相连后产生的最大值最小
\(O(n^2)\)的复杂度
如果怕被卡常,可以知道要切的边一定在直径上,虽然上界没有变,但速度可以快不少
#include #include #include #include #include #include