AT_codequeen2023_final_c Path Intersection

题目描述

给你一棵有 $N$ 个顶点的树,每个顶点编号为 $1, 2, \ldots, N$,以及两个顶点编号 $S, T$。对于 $i = 1, 2, \ldots, N-1$,第 $i$ 条边连接顶点 $u_i$ 和顶点 $v_i$。 对于树中每一个顶点 $j$,请你回答如下问题: - 从顶点 $S$ 到顶点 $j$ 的最短路径所经过的顶点集合(包括 $S$ 和 $j$),以及从顶点 $T$ 到顶点 $j$ 的最短路径所经过的顶点集合(包括 $T$ 和 $j$),这两个集合中共同包含的顶点个数是多少?

输入格式

输入按以下格式从标准输入读入。 > $N$ $S$ $T$ > $u_1$ $v_1$ > $\vdots$ > $u_{N-1}$ $v_{N-1}$

输出格式

请输出 $N$ 行。 第 $i$ 行输出关于顶点 $i$ 问题的答案。

说明/提示

### 样例解释 1 在本输入样例中,$S = 1, T = 4$。 - 当 $j = 1$ 时 - $S$ 到 $j$ 的最短路径包含的顶点集合为 $\{1\}$。 - $T$ 到 $j$ 的最短路径包含的顶点集合为 $\{1, 2, 4\}$。 - 两个集合的交集只有顶点 $1$,所以答案为 $1$。 - 当 $j = 5$ 时 - $S$ 到 $j$ 的最短路径包含的顶点集合为 $\{1, 2, 3, 5\}$。 - $T$ 到 $j$ 的最短路径包含的顶点集合为 $\{2, 3, 4, 5\}$。 - 两个集合的交集为顶点 $2, 3, 5$,所以答案为 $3$。 ### 数据范围 - 所有输入均为整数 - $3 \leq N \leq 200,\!000$ - $1 \leq S, T \leq N$ - $S \neq T$ - $1 \leq u_i, v_i \leq N$ ($1 \leq i \leq N-1$) - 输入保证图是一棵树 由 ChatGPT 5 翻译