AT_agc059_d.[AGC059D] Distinct Elements on Subsegments

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个整数序列 A=(A1, A2, …, AN+K−1)A=(A_1,\ A_2,\ \ldots,\ A_{N+K-1})(1≤Ai≤N+K−11 \leq A_i \leq N+K-1),对于每个 ii,定义 BiB_i 为 Ai,Ai+1,…,Ai+K−1A_i, A_{i+1}, \ldots, A_{i+K-1} 这 KK 个数中不同元素的个数,得到序列 B=(B1, B2, …, BN)B=(B_1,\ B_2,\ \ldots,\ B_N)。

给定 B1,B2,…,BNB_1, B_2, \ldots, B_N,判断是否存在一个序列 AA 能够生成该序列 BB,如果存在,请构造出任意一个满足条件的 AA。

对于每个输入文件,需要解答 TT 个测试用例。

输入格式

输入从标准输入读入,格式如下:

TT
case1case_1
case2case_2
⋮\vdots
caseTcase_T

每个测试用例如下格式:

NN KK B1B_1 B2B_2 …\ldots BNB_N

输出格式

对于每个测试用例,如果不存在满足条件的序列 AA,输出 NO。

否则,输出如下格式:

YES A1A_1 A2A_2 …\ldots AN+K−1A_{N+K-1}

其中 1≤Ai≤N+K−11 \leq A_i \leq N+K-1,且 AA 必须能够生成给定的 BB。如果有多组解,输出任意一组均可。

YES 或 NO 的输出中字母大小写均可。

输入输出样例

  • 输入#1

    3
    3 3
    1 2 1
    4 3
    1 2 2 1
    6 4
    3 3 3 3 3 3

    输出#1

    NO
    YES
    1 1 1 2 2 2 
    YES
    1 2 3 1 2 3 1 2 3

说明/提示

限制条件

  • 1≤T≤5⋅1041 \leq T \leq 5 \cdot 10^4
  • 2≤N≤2⋅1052 \leq N \leq 2 \cdot 10^5
  • 2≤K≤2⋅1052 \leq K \leq 2 \cdot 10^5
  • 1≤Bi≤K1 \leq B_i \leq K
  • 每个输入文件中所有 NN 的总和不超过 2⋅1052 \cdot 10^5。
  • 每个输入文件中所有 KK 的总和不超过 2⋅1052 \cdot 10^5。
  • 输入中的所有值均为整数。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页