CF1009F Dominant Indices

题目描述

给定一棵有 $n$ 个顶点的有根树,以顶点 $1$ 作为根。 我们定义顶点 $x$ 的深度数组为一个无限序列 $[d_{x, 0}, d_{x, 1}, d_{x, 2}, \dots]$,其中 $d_{x, i}$ 表示满足以下两个条件的顶点 $y$ 的数量: - $x$ 是 $y$ 的祖先; - 从 $x$ 到 $y$ 的简单路径恰好经过 $i$ 条边。 顶点 $x$ 的深度数组的主导下标(dominant index)(简称顶点 $x$ 的主导下标)定义为一个下标 $j$,满足: - 对于所有 $k < j$,都有 $d_{x, k} < d_{x, j}$; - 对于所有 $k > j$,都有 $d_{x, k} \le d_{x, j}$。 请你计算树中每个顶点的主导下标。

输入格式

第一行包含一个整数 $n$($1 \le n \le 10^6$),表示树的顶点数。 接下来 $n-1$ 行,每行包含两个整数 $x$ 和 $y$($1 \le x, y \le n$,$x \ne y$),表示树中的一条边。 保证这些边构成一棵树。

输出格式

输出 $n$ 个数字,第 $i$ 个数字表示顶点 $i$ 的主导下标。

说明/提示

由 ChatGPT 4.1 翻译