AT_arc170_f [ARC170F] Edge Deletion 2

题目描述

给定一棵有 $N$ 个顶点的树,顶点编号为 $1$ 到 $N$。树的第 $i$ 条边连接顶点 $u_i$ 和顶点 $v_i$,为无向边。 对于 $1$ 到 $N$ 的一个排列 $P=(P_1,\ldots,P_N)$,定义数列 $A(P)$ 如下: - $A(P)$ 初始为空。对每个顶点 $i$,在顶点 $i$ 上写下 $P_i$。 - 按照 $i=1,2,\ldots,N$ 的顺序,依次进行以下操作: - 如果顶点 $i$ 是孤立点,则在 $A(P)$ 的末尾添加 $0$。 - 否则,从与顶点 $i$ 相邻的顶点中,选择写有最小整数的顶点。将该顶点上写的整数添加到 $A(P)$ 的末尾,并删除顶点 $i$ 与该顶点之间的边。 请你在所有可能的 $A(P)$ 中,求出字典序最小的一个。 给定 $T$ 组测试数据,请分别输出答案。

输入格式

输入按以下格式从标准输入读入: > $T$ > $\mathrm{case}_1$ > $\vdots$ > $\mathrm{case}_T$ 每组数据格式如下: > $N$ > $u_1$ $v_1$ > $u_2$ $v_2$ > $\vdots$ > $u_{N-1}$ $v_{N-1}$

输出格式

输出 $T$ 行。第 $i$ 行输出第 $i$ 个测试用例的答案。

说明/提示

### 数据范围 - $1\leq T\leq 10^5$ - $2\leq N\leq 2\times 10^5$ - $1\leq u_i,v_i\leq N$ - 给定的图一定是一棵树 - 输入的所有数均为整数 - 所有测试用例中 $N$ 的总和不超过 $2\times 10^5$ ### 样例解释 1 对于第 $1$ 个测试用例,$P=(4,1,2,3,5)$ 时,$A(P)=(1,2,0,1,3)$,具体过程如下: - 顶点 $1$ 相邻顶点中,写有最小整数的是顶点 $2$。将 $P_2=1$ 添加到 $A(P)$ 末尾,并删除顶点 $1$ 与顶点 $2$ 的边。 - 顶点 $2$ 相邻顶点中,写有最小整数的是顶点 $3$。将 $P_3=2$ 添加到 $A(P)$ 末尾,并删除顶点 $2$ 与顶点 $3$ 的边。 - 顶点 $3$ 是孤立点,因此在 $A(P)$ 末尾添加 $0$。 - 顶点 $4$ 相邻顶点中,写有最小整数的是顶点 $2$。将 $P_2=1$ 添加到 $A(P)$ 末尾,并删除顶点 $4$ 与顶点 $2$ 的边。 - 顶点 $5$ 相邻顶点中,写有最小整数的是顶点 $4$。将 $P_4=3$ 添加到 $A(P)$ 末尾,并删除顶点 $5$ 与顶点 $4$ 的边。 可以证明,这是所有可能的 $A(P)$ 中字典序最小的。 由 ChatGPT 4.1 翻译