一次后序 DFS 就能求直径:每个点维护「向下最长链」,并在每个点用「最长 + 次长」更新答案。这个做法正确的原因是( )。
- A. 直径一定经过根
- B. 因为后序保证孩子先算完
- C. 因为用了两次 DFS
- D. 任一条最长路径都有唯一的「最高点」,在 处它恰好由两条来自不同孩子的链拼成 —— 枚举每个点的「最长 + 次长」就覆盖了所有候选
g6-07590.in输出g6-07590.out一次后序 DFS 就能求直径:每个点维护「向下最长链」,并在每个点用「最长 + 次长」更新答案。这个做法正确的原因是( )。