AT_utpc2021_n.Tree Swapping
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个包含 N 个顶点的树,其边由序列 E=((X1,Y1),…,(XN−1,YN−1)) 表示。通过以下步骤,我们可以生成一个排列 f(E):
- 开始时,准备一个自然顺序排列 Q=(1,2,…,N)。
- 按顺序对 i=1,2,…,N−1,交换排列 Q 的第 Xi 个元素和第 Yi 个元素。
- 经过上述所有交换后,最终的排列 Q 即为 f(E)。
现在,给你一个长度为 N 的排列 P 和 M 条边 (Ai,Bi)。你需要判断是否存在一个包含这 M 条边的、可以构成一棵树的边序列 E,能够满足 f(E)=P。如果存在,请输出任意一个这样的边序列;如果不存在,则输出 No。
我们保证由 M 条边组成的图不会含有自环或环路。
输入格式
输入数据以以下格式给出:
N M P1 … PN A1 B1 … AM BM
输出格式
如果没有符合条件的解,则输出一行 No。
如果有解,则首先输出一行 Yes,然后从第二行开始,逐行输出符合条件的边序列 (Ai,Bi):
A1 B1 … AN−1 BN−1
要求输出的边必须形成一棵树。如果有多个符合条件的解,则输出任意一个即可。
输入输出样例
输入#1
3 1 2 3 1 3 2
输出#1
Yes 1 2 2 3
说明/提示
- 所有输入都是整数。
- 1≤N≤2×105
- 0≤M≤N−1
- 1≤Pi≤N
- P 是 (1,…,N) 的一个排列。
- 1≤Ai,Bi≤N
- Ai=Bi
- 由 M 条边组成的图不会有环和多重边。
注意事项
在样例中,排列变化示例为:(1,2,3)→(2,1,3)→(2,3,1)。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?