CF2141F.Array Reduction

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个包含 nn 个整数的数组 aa。

每次操作,你可以选择数组中的若干元素并将它们移除。然而,你选择的元素必须满足以下两种条件之一:

  • 所有被选择的元素都相等;
  • 被选择的元素两两不同。

注意,如果只选择了 11 个元素进行移除,则自动满足这些条件。

例如,如果 a={1,2,1,1,3}a = \{1, 2, 1, 1, 3\},则你可以在一次操作中移除的元素有:

  • 第 11 个元素;
  • 第 11 个和第 33 个元素;
  • 第 11、第 33、第 44 个元素;
  • 第 33 个和第 44 个元素;
  • 第 22、第 44、第 55 个元素;
  • 以及其它若干种组合。

但是,你不能选择第 22、第 33、第 44 个元素,因为第 22 个元素不等于第 44 个元素,但第 33 和第 44 个元素相等。

对于每个 xx 从 00 到 n−1n-1,你需要计算将数组长度减少到恰好 xx 所需的最少操作次数。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例数量。

每个测试用例包含两行:

  • 第一行包含一个整数 nn(1≤n≤3⋅1051 \le n \le 3 \cdot 10^5),表示数组的长度;
  • 第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤n1 \le a_i \le n),表示数组元素。

输入的额外限制:所有测试用例中 nn 的总和不超过 3⋅1053 \cdot 10^5。

输出格式

对于每个测试用例,输出 nn 个整数 c0,c1,…,cn−1c_0, c_1, \dots, c_{n-1},其中 cic_i 表示将数组大小恰好缩减到 ii 所需的最少操作次数。

输入输出样例

  • 输入#1

    5
    11
    5 5 5 5 2 2 2 8 6 1 7
    6
    3 3 3 3 3 3
    5
    2 1 3 5 4
    8
    1 1 1 2 3 4 5 6
    1
    1

    输出#1

    3 3 2 2 2 1 1 1 1 1 1 
    1 1 1 1 1 1 
    1 1 1 1 1 
    2 2 1 1 1 1 1 1 
    1

说明/提示

在第一个示例中,答案可以如下得到:

  • c0=3c_{0} = 3:移除 a8,a9,a10,a11a_{8}, a_{9}, a_{10}, a_{11};然后移除 a1,a2,a3,a4a_{1}, a_{2}, a_{3}, a_{4};再移除 a5,a6,a7a_{5}, a_{6}, a_{7};
  • c1=3c_{1} = 3:移除 a8,a9,a10,a11a_{8}, a_{9}, a_{10}, a_{11};然后移除 a1,a2,a3,a4a_{1}, a_{2}, a_{3}, a_{4};再移除 a5,a6a_{5}, a_{6};
  • c2=2c_{2} = 2:移除 a7,a8,a9,a10,a11a_{7}, a_{8}, a_{9}, a_{10}, a_{11};然后移除 a1,a2,a3,a4a_{1}, a_{2}, a_{3}, a_{4};
  • c3=2c_{3} = 2:移除 a7,a8,a9,a10,a11a_{7}, a_{8}, a_{9}, a_{10}, a_{11};然后移除 a1,a2,a3a_{1}, a_{2}, a_{3};
  • c4=2c_{4} = 2:移除 a7,a8,a9,a10,a11a_{7}, a_{8}, a_{9}, a_{10}, a_{11};然后移除 a1,a2a_{1}, a_{2};
  • c5=1c_{5} = 1:移除 a1,a7,a8,a9,a10,a11a_{1}, a_{7}, a_{8}, a_{9}, a_{10}, a_{11};
  • c6=1c_{6} = 1:移除 a7,a8,a9,a10,a11a_{7}, a_{8}, a_{9}, a_{10}, a_{11};
  • c7=1c_{7} = 1:移除 a1,a2,a3,a4a_{1}, a_{2}, a_{3}, a_{4};
  • c8=1c_{8} = 1:移除 a1,a2,a3a_{1}, a_{2}, a_{3};
  • c9=1c_{9} = 1:移除 a1,a2a_{1}, a_{2};
  • c10=1c_{10} = 1:移除 a7a_{7}。

由 ChatGPT 5 翻译

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

首页