#P12688. [集训队互测2025day14]Two permutations

[集训队互测2025day14]Two permutations

题目描述

DD 有一个长度为 2n2n 的序列 a1,a2,a3,,a2na_1, a_2, a_3, \dots, a_{2n},其中 1n1 \sim n 的每一个数在这个序列中都恰好出现了两次。并且 a1,a2,a3,,ana_1, a_2, a_3, \dots, a_n 构成了一个 1n1 \sim n 的排列。

DD 记数字 ii 的两个出现位置为 xi,yix_i, y_i 满足 1xin<yi2n1 \le x_i \le n < y_i \le 2n

DD 还定义了一个集合运算 \oplus 如下。

AB={x[xA]+[xB]=1}A \oplus B = \{x \mid [x \in A] + [x \in B] = 1\}

定义 f(S)f(S) 表示的是 SS 中最小没有出现过的正整数。

现在小 DD 会告诉你 $v_i = f(\{a_{x_i}\} \oplus \{a_{x_i+1}\} \oplus \cdots \oplus \{a_{y_i}\})$。他希望你根据序列 vv 构造一个序列 aa 使其符合条件。

输入格式

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

接下来 2T2T 行,描述 TT 组数据。

每组数据的第一行为一个正整数 nn,表示序列中出现的数字数量。

每组数据的第二行为 nn 个正整数 v1,v2,v3,,vnv_1, v_2, v_3, \dots, v_n,表示求出来的值。

输出格式

对于所有的 TT 组数据输出答案。

每组数据的第一行为一个字符串 Yes 或者是 No,表示是否有解。

如果有解那么在第二行输出 2n2n 个正整数 a1,a2,a3,,a2na_1, a_2, a_3, \dots, a_{2n},表示你构造出的序列,如果存在多组符合条件的构造随便给出一组即可

样例

样例输入
2
4
1 2 2 2
3
3 2 1
样例输出
Yes
3 2 4 1 4 2 3 1
No

数据范围

子任务编号$n \le$$\sum n \le$特殊性质分数
$1$$5$$50$$$$10$
$2$$10$$100$$10$
$3$$2 \times 10^5$$2 \times 10^6$$A$$15$
$4$$2 \times 10^5$$2 \times 10^6$$B$$15$
$5$$2 \times 10^5$$2 \times 10^6$$$$50$

特殊性质 AA:满足 vi4v_i \le 4

特殊性质 BB:满足 vvi=viv_{v_i} = v_i

对于 100%100\% 的数据,满足 1T101 \le T \le 101n2×1051 \le n \le 2 \times 10^51n2×1061 \le \sum n \le 2 \times 10^61vin1 \le v_i \le n

下发文件的答案文件中并不存在构造方案。