[CSP-S2019] 树上的数

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

给定一个大小为 nn 的树,它共有 nn 个结点与 n1n - 1 条边,结点从 1n1 \sim n 编号。初始时每个结点上都有一个 1n1 \sim n 的数字,且每个 1n1 \sim n 的数字都只在恰好一个结点上出现。

接下来你需要进行恰好 n1n - 1 次删边操作,每次操作你需要选一条未被删去的边,此时这条边所连接的两个结点上的数字将会交换,然后这条边将被删去。

n1n - 1 次操作过后,所有的边都将被删去。此时,按数字从小到大的顺序,将数字 1n1 \sim n 所在的结点编号依次排列,就得到一个结点编号的排列 PiP_i。现在请你求出,在最优操作方案下能得到的字典序最小PiP_i

如上图,蓝圈中的数字 151 \sim 5 一开始分别在结点②、①、③、⑤、④。按照 (1)(4)(3)(2) 的顺序删去所有边,树变为下图。按数字顺序得到的结点编号排列为①③④②⑤,该排列是所有可能的结果中字典序最小的。

输入格式

本题输入包含多组测试数据。

第一行一个正整数 TT,表示数据组数。

对于每组测试数据:

第一行一个整数 nn,表示树的大小。

第二行 nn 个整数,第 i(1in)i (1 \leq i \leq n) 个整数表示数字 ii 初始时所在的结点编号。

接下来 n1n - 1 行每行两个整数 xx, yy,表示一条连接 xx 号结点与 yy 号结点的边。

输出格式

对于每组测试数据,输出一行共 nn 个用空格隔开的整数,表示最优操作方案下所能得到的字典序最小的 PiP_i

4
5
2 1 3 5 4
1 3
1 4
2 4
4 5
5
3 4 2 1 5
1 2
2 3
3 4
4 5
5
1 2 5 3 4
1 2
1 3
1 4
1 5
10
1 2 3 4 5 7 8 9 10 6
1 2
1 3
1 4
1 5
5 6
6 7
7 8
8 9
9 10
1 3 4 2 5
1 3 5 2 4
2 3 1 4 5
2 3 4 5 6 1 7 8 9 10

提示

【数据范围】

测试点编号 nn \leq 特殊性质
121 \sim 2 10
343 \sim 4 160 树的形态是一条链
575 \sim 7 2000 同上
898 \sim 9 160 存在度数为 n1n - 1 的结点
101210 \sim 12 2000 同上
131613 \sim 16 160
172017 \sim 20 2000

对于所有测试点:1T101 \leq T \leq 10,保证给出的是一个树。

CSP-S 重做

Not Attended
Status
Done
Rule
IOI
Problem
26
Start at
2024-11-7 16:30
End at
2024-11-17 16:30
Duration
240 hour(s)
Host
Partic.
6