CF1863C.MEX Repetition
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a1,a2,…,an of pairwise distinct integers from 0 to n. Consider the following operation:
- consecutively for each i from 1 to n in this order, replace ai with MEX(a1,a2,…,an).
Here MEX of a collection of integers c1,c2,…,cm is defined as the smallest non-negative integer x which does not occur in the collection c. For example, MEX(0,2,2,1,4)=3 and MEX(1,2)=0.
Print the array after applying k such operations.
给你一个由 0 到 n 之间的两两互异整数构成的数组 a1,a2,…,an。考虑如下操作:
- 按照 i 从 1 到 n 的顺序,依次将每个 ai 替换为 MEX(a1,a2,…,an)。
其中,整数集合 c1,c2,…,cm 的 MEX 定义为未在该集合中出现的最小非负整数 x。例如,MEX(0,2,2,1,4)=3,而 MEX(1,2)=0。
请输出对该数组执行 k 次上述操作后的结果。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤105). The description of the test cases follows.
The first line of each test case contains two integers n and k (1≤n≤105, 1≤k≤109).
The second line contains n pairwise distinct integers a1,a2,…,an (0≤ai≤n) representing the elements of the array before applying the operations.
It is guaranteed that the sum of n over all test cases does not exceed 105.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤105)。随后是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 k(1≤n≤105,1≤k≤109)。
第二行包含 n 个两两不同的整数 a1,a2,…,an(0≤ai≤n),表示执行操作前数组的元素。
保证所有测试用例的 n 之和不超过 105。
输出格式
For each test case, print all n elements of the array after applying k operations.
对于每个测试用例,输出执行 k 次操作后数组的全部 n 个元素。
输入输出样例
输入#1
5 1 2 1 3 1 0 1 3 2 2 0 2 5 5 1 2 3 4 5 10 100 5 3 0 4 2 1 6 9 10 8
输出#1
1 2 0 1 2 1 2 3 4 5 0 7 5 3 0 4 2 1 6 9 10
说明/提示
In the first test case, here is the entire process:
- On the first operation, the array changes from [1] to [0], since MEX(1)=0.
- On the second operation, the array changes from [0] to [1], since MEX(0)=1.
Thus, the array becomes [1] after two operations.
In the second test case, the array changes as follows during one operation: [0,1,3]→[2,1,3]→[2,0,3]→[2,0,1].
In the third test case, the array changes as follows during one operation: [0,2]→[1,2]→[1,0]. And during the second operation: [1,0]→[2,0]→[2,1].
在第一个测试用例中,整个过程如下:
- 在第一次操作中,数组从 [1] 变为 [0],因为 MEX(1)=0。
- 在第二次操作中,数组从 [0] 变为 [1],因为 MEX(0)=1。
因此,经过两次操作后,数组变为 [1]。
在第二个测试用例中,数组在一次操作中的变化过程如下:[0,1,3]→[2,1,3]→[2,0,3]→[2,0,1]。
在第三个测试用例中,数组在一次操作中的变化过程如下:[0,2]→[1,2]→[1,0];在第二次操作中:[1,0]→[2,0]→[2,1]。
输入解题思路,AI测评打分。不知道怎么写?