CF2123E.MEX Count

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

定义一个数组的 $ \mathrm{MEX} $(最小排除值)为该数组中未出现的最小非负整数。例如:

$ \mathrm{MEX}([2, 2, 1]) = 0 $,因为 $ 0 $ 不在数组中。

$ \mathrm{MEX}([3, 1, 0, 1]) = 2 $,因为 $ 0 $ 和 $ 1 $ 在数组中,但 $ 2 $ 不在。

$ \mathrm{MEX}([0, 3, 1, 2]) = 4 $,因为 $ 0, 1, 2, 3 $ 都在数组中,但 $ 4 $ 不在。

给定一个大小为 $ n $ 的非负整数数组 $ a $。

对于所有 $ k (( 0 \leq k \leq n $),统计从 $ a $ 中恰好移除 $ k $ 个值后,$ \mathrm{MEX}(a) $ 可能的不同取值数量。

输入格式

第一行包含一个整数 $ t (( 1 \leq t \leq 10^4 $)——测试用例的数量。

每个测试用例的第一行包含一个整数 $ n (( 1 \leq n \leq 2 \cdot 10^5 $)——数组 $ a $ 的大小。

每个测试用例的第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n (( 0 \leq a_i \leq n $)。

保证所有测试用例的 $ n $ 之和不超过 $ 2 \cdot 10^5 $。

输出格式

对于每个测试用例,输出一行 $ n+1 $ 个整数,表示在移除恰好 $ k $ 个值后($ k = 0, 1, \dots, n ),), \mathrm{MEX}(a) $ 可能的不同取值数量。

输入输出样例

  • 输入#1

    5
    5
    1 0 0 1 2
    6
    3 2 0 4 5 1
    6
    1 2 0 1 3 2
    4
    0 3 4 1
    5
    0 0 0 0 0

    输出#1

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

说明/提示

在第一个样例中,考虑 $ k=1 $:

如果移除一个 $ 0 $,得到数组 [1,0,1,2][1, 0, 1, 2],$ \mathrm{MEX} = 3 $。

如果移除 $ 2 $,得到数组 [1,0,0,1][1, 0, 0, 1],$ \mathrm{MEX} = 2 $。

可以证明移除恰好一个值后,$ \mathrm{MEX}(a) $ 的可能取值只有 $ 2 $ 和 $ 3 $,因此输出中 $ k=1 $ 的值为 $ 2 $。

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

首页