#ABC291Ex. 平衡树

平衡树

平衡树

题目描述

给定一棵有 NN 个顶点的树 TT。第 ii 条边连接顶点 AiA_iBiB_i

请构造一棵满足以下两个条件的 NN 个顶点的有根树 RR

  1. 对于所有满足 1x<yN1 \leq x \lt y \leq N 的整数对 (x,y)(x,y),以下成立: 如果 RR 中顶点 xxyy 的最低公共祖先(最近公共祖先)是顶点 zz,那么在 TT 中,顶点 zz 位于顶点 xxyy 之间的简单路径上。
  2. RR 中,对于除根以外的所有顶点 vv,以 vv 为根的子树中顶点数的 2 倍,不超过以 vv 的父节点为根的子树中顶点数。

可以证明,这样的有根树一定存在。

输入格式

输入按以下格式从标准输入给出:

NN
A1A_1 B1B_1
\vdots
AN1A_{N-1} BN1B_{N-1}

输出格式

RR 为满足题目描述中条件的有根树。设 RR 中顶点 ii 的父节点为顶点 pip_i(当 ii 为根时,令 pi=1p_i=-1)。

在一行中输出 NN 个用空格分隔的整数 p1,,pNp_1,\ldots,p_N

样例

4
1 2
2 3
3 4
2 -1 4 2

例如,RR 中顶点 1133 的最低公共祖先为顶点 22;在 TT 中,顶点 22 位于顶点 1133 之间的简单路径上。

又如,在 RR 中,以顶点 44 为根的子树有 2 个顶点,其 2 倍不超过以顶点 22 为根的子树(有 4 个顶点)的顶点数。

5
1 2
1 3
1 4
1 5
-1 1 1 1 1

数据范围

  • 1N1051 \leq N \leq 10^5
  • 1Ai,BiN1\leq A_i,B_i \leq N
  • 输入中的所有值均为整数。
  • 给定的图是一棵树。

提示

答案不唯一,输出任意合法解即可。

难度 NOI/NOI+/CTS
通过率
尝试 0
已通过 0
ID
2628
类型
传统题
Time Limit
1222ms
Memory Limit
1024MiB
上传者
标签