P17743 [ICPC 2019 Xuzhou R] Kill the tree

题目描述

给定一棵有 $N$ 个顶点的树(顶点编号从 $1$ 到 $N$),其中 $1$ 号顶点为树根。树上每条边的边权均为 $1$。 定义 $d(u, v)$ 为顶点 $u$ 与 $v$ 之间的距离。 定义 $c(w)=\sum \limits_{v \in T} d(w, v)$。如果树 $T$ 上的某个顶点 $w$ 满足 $c(w) \le \min \limits_{u \in T} c(u)$,则称 $w$ 为该树的 **关键点**。 现在,对于每个 $i \in [1, N]$,你需要输出以顶点 $i$ 为根的子树的所有关键点。

输入格式

第一行包含一个整数 $N$,表示树的顶点数。 接下来 $N - 1$ 行,第 $i$ 行包含两个整数 $a_i, b_i$,表示树上的第 $i$ 条边。 - $1 \le N \le 2 \times 10^5$ - $1 \le a_i, b_i \le N$ - 输入保证构成一棵树

输出格式

输出 $N$ 行。 在第 $i$ 行,按升序输出以顶点 $i$ 为根的子树的所有关键点。同一行中的整数之间用一个空格分隔。

说明/提示

翻译由 DeepSeek V4 Pro 完成