T3: 小猴摘桃
给定一颗树,求树上经过偶数个节点的路径数量。
限制:
- \(n \leqslant 10^5\)
参考难度:
普及+/提高
算法分析
\(30\) 分
枚举起点 \(S\),枚举终点 \(T\),使用 DFS
求出起点到终点的距离,如果距离是奇数,说明经过的结点是偶数个,答案加 \(1\) 。
\(60\) 分
枚举起点 \(S\),使用 BFS
求出 \(S\) 到所有点的距离,对于距离为奇数的点,说明经过的结点是偶数个,答案加上距离是奇数的点的数量。
也可以枚举起点 \(S\) 和终点 \(T\),然后使用 lca
求 \(S\) 到 \(T\) 的距离。