CF1863C.MEX Repetition

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given an array a1,a2,…,ana_1,a_2,\ldots, a_n of pairwise distinct integers from 00 to nn. Consider the following operation:

  • consecutively for each ii from 11 to nn in this order, replace aia_i with MEX⁡(a1,a2,…,an)\operatorname{MEX}(a_1, a_2, \ldots, a_n).

Here MEX⁡\operatorname{MEX} of a collection of integers c1,c2,…,cmc_1, c_2, \ldots, c_m is defined as the smallest non-negative integer xx which does not occur in the collection cc. For example, MEX⁡(0,2,2,1,4)=3\operatorname{MEX}(0, 2, 2, 1, 4) = 3 and MEX⁡(1,2)=0\operatorname{MEX}(1, 2) = 0.

Print the array after applying kk such operations.

给你一个由 00 到 nn 之间的两两互异整数构成的数组 a1,a2,…,ana_1,a_2,\ldots, a_n。考虑如下操作:

  • 按照 ii 从 11 到 nn 的顺序,依次将每个 aia_i 替换为 MEX⁡(a1,a2,…,an)\operatorname{MEX}(a_1, a_2, \ldots, a_n)。

其中,整数集合 c1,c2,…,cmc_1, c_2, \ldots, c_m 的 MEX⁡\operatorname{MEX} 定义为未在该集合中出现的最小非负整数 xx。例如,MEX⁡(0,2,2,1,4)=3\operatorname{MEX}(0, 2, 2, 1, 4) = 3,而 MEX⁡(1,2)=0\operatorname{MEX}(1, 2) = 0。

请输出对该数组执行 kk 次上述操作后的结果。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1051 \le t \le 10^5). The description of the test cases follows.

The first line of each test case contains two integers nn and kk (1≤n≤1051\le n\le 10^5, 1≤k≤1091\le k\le 10^9).

The second line contains nn pairwise distinct integers a1,a2,…,ana_1,a_2,\ldots, a_n (0≤ai≤n0\le a_i\le n) representing the elements of the array before applying the operations.

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1051 \le t \le 10^5)。随后是各测试用例的描述。

每个测试用例的第一行包含两个整数 nn 和 kk(1≤n≤1051\le n\le 10^5,1≤k≤1091\le k\le 10^9)。

第二行包含 nn 个两两不同的整数 a1,a2,…,ana_1,a_2,\ldots, a_n(0≤ai≤n0\le a_i\le n),表示执行操作前数组的元素。

保证所有测试用例的 nn 之和不超过 10510^5。

输出格式

For each test case, print all nn elements of the array after applying kk operations.

对于每个测试用例,输出执行 kk 次操作后数组的全部 nn 个元素。

输入输出样例

  • 输入#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:

  1. On the first operation, the array changes from [1][1] to [0][0], since MEX⁡(1)=0\operatorname{MEX}(1) = 0.
  2. On the second operation, the array changes from [0][0] to [1][1], since MEX⁡(0)=1\operatorname{MEX}(0) = 1.

Thus, the array becomes [1][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][{\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}, 1, 3] \rightarrow [2, {\mkern3mu\underline{\mkern-3mu {\bf 1}\mkern-3mu}\mkern3mu}, 3] \rightarrow [2, 0, {\mkern3mu\underline{\mkern-3mu {\bf 3}\mkern-3mu}\mkern3mu}] \rightarrow [2, 0, 1].

In the third test case, the array changes as follows during one operation: [  ⁣0 ⁣‾ ,2]→[1,  ⁣2 ⁣‾ ]→[1,0][{\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}, 2] \rightarrow [1, {\mkern3mu\underline{\mkern-3mu {\bf 2}\mkern-3mu}\mkern3mu}] \rightarrow [1, 0]. And during the second operation: [  ⁣1 ⁣‾ ,0]→[2,  ⁣0 ⁣‾ ]→[2,1][{\mkern3mu\underline{\mkern-3mu {\bf 1}\mkern-3mu}\mkern3mu}, 0] \rightarrow [2, {\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}] \rightarrow [2, 1].

在第一个测试用例中,整个过程如下:

  1. 在第一次操作中,数组从 [1][1] 变为 [0][0],因为 MEX⁡(1)=0\operatorname{MEX}(1) = 0。
  2. 在第二次操作中,数组从 [0][0] 变为 [1][1],因为 MEX⁡(0)=1\operatorname{MEX}(0) = 1。

因此,经过两次操作后,数组变为 [1][1]。

在第二个测试用例中,数组在一次操作中的变化过程如下:[  ⁣0 ⁣‾ ,1,3]→[2,  ⁣1 ⁣‾ ,3]→[2,0,  ⁣3 ⁣‾ ]→[2,0,1][{\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}, 1, 3] \rightarrow [2, {\mkern3mu\underline{\mkern-3mu {\bf 1}\mkern-3mu}\mkern3mu}, 3] \rightarrow [2, 0, {\mkern3mu\underline{\mkern-3mu {\bf 3}\mkern-3mu}\mkern3mu}] \rightarrow [2, 0, 1]。

在第三个测试用例中,数组在一次操作中的变化过程如下:[  ⁣0 ⁣‾ ,2]→[1,  ⁣2 ⁣‾ ]→[1,0][{\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}, 2] \rightarrow [1, {\mkern3mu\underline{\mkern-3mu {\bf 2}\mkern-3mu}\mkern3mu}] \rightarrow [1, 0];在第二次操作中:[  ⁣1 ⁣‾ ,0]→[2,  ⁣0 ⁣‾ ]→[2,1][{\mkern3mu\underline{\mkern-3mu {\bf 1}\mkern-3mu}\mkern3mu}, 0] \rightarrow [2, {\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}] \rightarrow [2, 1]。

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

首页