题目
题目链接
题解本质上是一个计算树的直径的问题。(模板题)
树的直径有两种计算方式:
- 两次dfs。以任意一点
X
为根节点,第一次dfs找到距离X
最远的节点P
,第二次dfs找到距离节点P
最远的节点Q
,P
和Q
的距离就是树的直径。 - 树型DP。两个数组
mx[i]
,_mx[i]
分别记录当前节点i
到根节点(随意选取)的最大距离和次最大距离。假设j
为i
的子结点,更新方式:如果mx[i]
关注打赏