#P16919. [JLCPC 2026] 古明地恋世界第一

    ID: 19237 远端评测题 1000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>贪心吉林Special JudgeO2优化2026省赛/邀请赛

[JLCPC 2026] 古明地恋世界第一

题目描述

Koishi 在路上捡到了一个长度为 nn 的正整数序列 a=[a1,a2,,an]a = [a_1, a_2, \cdots, a_n],满足 1ain1\le a_i\le n。现在 Koishi 计算出了 aa 序列的前缀最大值序列 b=[b1,b2,,bn]b = [b_1, b_2, \cdots, b_n],其中 bib_i 表示 aa 序列前 ii 项的最大值,即

$$b_i = \max\{a_1, a_2, \cdots, a_i\} = \max_{1\le j\le i}\{a_j\}$$

在得到两个序列后,Koishi 将它们混合到了一起,即定义长度为 2n2n 的序列 c=[a1,a2,,an,b1,b2,,bn]c = [a_1, a_2, \cdots, a_n, b_1, b_2, \cdots, b_n],并将 cc 从小到大排序

由于 Koishi 是无意识少女,她丢掉了 aabb 的值,只剩下了 cc 序列。

由于 Koishi 是无意识少女,她将 cc 序列给了你——二十一世纪最可爱的大学生,希望你找到任意一个合法的 aa 序列。可能有多个合法的 aa 序列,这时你只需要求出任意一个即可;也可能没有任何一个合法的 aa 序列,此时你需要报告无解。

输入格式

第一行有一个整数 TT,表示数据组数。接下来 TT 段,每段描述一组数据。对于每组数据:

  • 第一行输入一个整数 nn 表示序列 aa 的长度;
  • 第二行输入一个长度为 2×n2 \times n 的序列 cc,相邻整数由一个空格隔开,保证 cc 序列单调不减,且 1cin1\le c_i\le n

数据保证 1n3×1051\le \sum n\le 3\times 10^5

输出格式

对于每组数据:

  • 若有解,第一行输出一个字符串 Yes,第二行输出 nn 个整数 [a1,a2,,an][a_1, a_2, \cdots, a_n],相邻整数由一个空格隔开,表示你找到的一组合法的 aa 序列;
  • 若无解,输出一行一个字符串 No

YesNo 均不区分大小写,例如 YesYESyEs 都被认为是肯定的结果,而 NoNOnO 都被认为是否定的结果。

5
3
1 1 2 2 3 3
3
1 1 1 1 2 3
6
1 1 1 1 1 4 4 4 5 5 5 5
5
1 1 1 2 3 4 5 5 5 5
9
2 3 3 4 4 5 8 9 9 9 9 9 9 9 9 9 9 9
Yes
1 2 3
No
Yes
1 1 4 5 1 4
No
Yes
9 9 8 2 4 4 3 5 3