P16919 [JLCPC 2026] 古明地恋世界第一
题目描述
Koishi 在路上捡到了一个长度为 $n$ 的正整数序列 $a = [a_1, a_2, \cdots, a_n]$,满足 $1\le a_i\le n$。现在 Koishi 计算出了 $a$ 序列的**前缀最大值序列** $b = [b_1, b_2, \cdots, b_n]$,其中 $b_i$ 表示 $a$ 序列前 $i$ 项的最大值,即
$$b_i = \max\{a_1, a_2, \cdots, a_i\} = \max_{1\le j\le i}\{a_j\}$$
在得到两个序列后,Koishi 将它们混合到了一起,即定义长度为 $2n$ 的序列 $c = [a_1, a_2, \cdots, a_n, b_1, b_2, \cdots, b_n]$,并将 $c$ **从小到大排序**。
由于 Koishi 是无意识少女,她丢掉了 $a$ 和 $b$ 的值,只剩下了 $c$ 序列。
由于 Koishi 是无意识少女,她将 $c$ 序列给了你——二十一世纪最可爱的大学生,希望你找到任意一个合法的 $a$ 序列。可能有多个合法的 $a$ 序列,这时你只需要求出任意一个即可;也可能没有任何一个合法的 $a$ 序列,此时你需要报告无解。
输入格式
第一行有一个整数 $T$,表示数据组数。接下来 $T$ 段,每段描述一组数据。对于每组数据:
- 第一行输入一个整数 $n$ 表示序列 $a$ 的长度;
- 第二行输入一个长度为 $2 \times n$ 的序列 $c$,相邻整数由一个空格隔开,保证 $c$ 序列单调不减,且 $1\le c_i\le n$。
数据保证 $1\le \sum n\le 3\times 10^5$。
输出格式
对于每组数据:
- 若有解,第一行输出一个字符串 `Yes`,第二行输出 $n$ 个整数 $[a_1, a_2, \cdots, a_n]$,相邻整数由一个空格隔开,表示你找到的一组合法的 $a$ 序列;
- 若无解,输出一行一个字符串 `No`。
`Yes` 和 `No` 均不区分大小写,例如 `Yes`、`YES`、`yEs` 都被认为是肯定的结果,而 `No`、`NO`、`nO` 都被认为是否定的结果。