约 10 分钟
树的直径是树上最远两点之间的距离。一种 DP 做法:对每个点 u,求它向下能延伸的最长链 d1 和次长链 d2,则经过 u 的最长路径是 d1+d2,全局取最大即直径。DFS 一遍即可。
d1
d2
d1+d2
经过某点 u 的最长路径,为什么用最长链加次长链?
登录 后可看答案