CF2044D.Harder Problem

普及-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个正整数序列,若一个正整数在该序列中出现最多次,则称其为该序列的众数( mode )。例如,序列 [2,2,3][2,2,3] 的众数为 22 。 99 , 88 或 77 的任意一个都可以被认为是序列 [9,9,8,8,7,7][9,9,8,8,7,7] 的众数。

你给了 UFO 一个长度为 nn 的数组 aa 。为了感谢你, UFO 决定构造一个长度也为 nn 的数组 bb ,使得对于所有 1≤i≤n1 \leq i \leq n ,aia_i 是序列 [b1,b2,…,bi][b_1, b_2, …, b_i] 的众数。

然而, UFO 不知道怎么构造数组 b ,因此你需要帮助她。注意:构造的数组 b 中的元素 bib_i 需满足 1≤bi≤n1 \leq b_i \leq n 。

输入格式

第一行包含一个正整数 t(1≤t≤104)t (1 \leq t \leq 10^4),代表测试样例数量。

每组测试样例包括两行:

第一行包含一个整数 n(1≤n≤2⋅105)n (1 \leq n \leq 2 \cdot 10^5) ,代表 aa 的长度。

第二行包含 n 个整数 a1,a2,…,an(1≤ai≤n)a_1, a_2, \ldots, a_n (1 \leq a_i \leq n) 。

保证所有测试用例的 nn 总和不超过 2⋅1052 \cdot 10^5 。

输出格式

对于每组测试样例,在新的一行 n 个数字 b1,b2,…,bn(1≤bi≤n)b_1, b_2, \ldots, b_n (1 \leq b_i \leq n ) 。可以证明数组 bb 总是可以构造出来。如果有多个解,输出任意一个。

输入输出样例

  • 输入#1

    4
    2
    1 2
    4
    1 1 1 2
    8
    4 5 5 5 1 1 2 1
    10
    1 1 2 2 1 1 3 3 1 1

    输出#1

    1 2
    1 1 2 2
    4 5 5 1 1 2 2 3
    1 8 2 2 1 3 3 9 1 1

说明/提示

对第 2 组测试样例正确性的证明:

  • 当 i=1i = 1 时, 11 是 [1][1] 唯一的众数;
  • 当 i=2i = 2 时, 11 是 [1,1][1, 1] 唯一的众数;
  • 当 i=3i = 3 时, 11 是 [1,1,2][1, 1, 2] 唯一的众数;
  • 当 i=4i = 4 时, 11 或 22 均为 [1,1,2,2][1, 1, 2, 2] 的众数。由于 ai=2a_i = 2 ,因此这个数组是有效的。

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

首页