CF1551B2.Wonderful Coloring - 2

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

This problem is an extension of the problem "Wonderful Coloring - 1". It has quite many differences, so you should read this statement completely.

Recently, Paul and Mary have found a new favorite sequence of integers a1,a2,…,ana_1, a_2, \dots, a_n. They want to paint it using pieces of chalk of kk colors. The coloring of a sequence is called wonderful if the following conditions are met:

  1. each element of the sequence is either painted in one of kk colors or isn't painted;
  2. each two elements which are painted in the same color are different (i. e. there's no two equal values painted in the same color);
  3. let's calculate for each of kk colors the number of elements painted in the color — all calculated numbers must be equal;
  4. the total number of painted elements of the sequence is the maximum among all colorings of the sequence which meet the first three conditions.

E. g. consider a sequence a=[3,1,1,1,1,10,3,10,10,2]a=[3, 1, 1, 1, 1, 10, 3, 10, 10, 2] and k=3k=3. One of the wonderful colorings of the sequence is shown in the figure.

The example of a wonderful coloring of the sequence a=[3,1,1,1,1,10,3,10,10,2]a=[3, 1, 1, 1, 1, 10, 3, 10, 10, 2] and k=3k=3. Note that one of the elements isn't painted.

Help Paul and Mary to find a wonderful coloring of a given sequence aa.

本题是“奇妙染色 - 1”问题的扩展。二者存在诸多差异,因此请务必完整阅读本题题面。

最近,Paul 和 Mary 发现了一个新的喜爱整数序列 a1,a2,…,ana_1, a_2, \dots, a_n。他们希望使用 kk 种颜色的粉笔为该序列染色。若一个序列的染色满足以下条件,则称其为奇妙染色:

  1. 序列中每个元素要么被染成 kk 种颜色之一,要么不染色;
  2. 任意两个被染成同一种颜色的元素的值互不相同(即:不存在两个相等的数值被染成同一种颜色);
  3. 对每种颜色,统计被染成该颜色的元素个数;这 kk 个统计值必须全部相等;
  4. 在所有满足前三个条件的染色方案中,被染色的元素总数达到最大。

例如,考虑序列 a=[3,1,1,1,1,10,3,10,10,2]a=[3, 1, 1, 1, 1, 10, 3, 10, 10, 2] 与 k=3k=3。图中展示了一种该序列的奇妙染色方案。

序列 a=[3,1,1,1,1,10,3,10,10,2]a=[3, 1, 1, 1, 1, 10, 3, 10, 10, 2] 在 k=3k=3 下的一种奇妙染色示例。注意:其中一个元素未被染色。

请帮助 Paul 和 Mary 为给定序列 aa 找出一种奇妙染色方案。

输入格式

The first line contains one integer tt (1≤t≤100001 \le t \le 10000) — the number of test cases. Then tt test cases follow.

Each test case consists of two lines. The first one contains two integers nn and kk (1≤n≤2⋅1051 \le n \le 2\cdot10^5, 1≤k≤n1 \le k \le n) — the length of a given sequence and the number of colors, respectively. The second one contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤n1 \le a_i \le n).

It is guaranteed that the sum of nn over all test cases doesn't exceed 2⋅1052 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤100001 \le t \le 10000),表示测试用例的数量。接下来是 tt 个测试用例。

每个测试用例由两行组成。第一行包含两个整数 nn 和 kk(1≤n≤2⋅1051 \le n \le 2\cdot10^5,1≤k≤n1 \le k \le n),分别表示给定序列的长度和颜色种类数。第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤n1 \le a_i \le n)。

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

输出格式

Output tt lines, each of them must contain a description of a wonderful coloring for the corresponding test case.

Each wonderful coloring must be printed as a sequence of nn integers c1,c2,…,cnc_1, c_2, \dots, c_n (0≤ci≤k0 \le c_i \le k) separated by spaces where

  • ci=0c_i=0, if ii-th element isn't painted;
  • ci>0c_i \gt 0, if ii-th element is painted in the cic_i-th color.

Remember that you need to maximize the total count of painted elements for the wonderful coloring. If there are multiple solutions, print any one.

输出 tt 行,每行必须包含对应测试用例的一个“精彩染色”方案的描述。

每个“精彩染色”方案需以一个由 nn 个整数 c1,c2,…,cnc_1, c_2, \dots, c_n(其中 0≤ci≤k0 \le c_i \le k)组成的序列形式输出,各整数之间用空格分隔,满足:

  • 若第 ii 个元素未被染色,则 ci=0c_i = 0;
  • 若第 ii 个元素被染成第 cic_i 种颜色,则 ci>0c_i > 0。

注意:你需要使“精彩染色”方案中被染色元素的总数最大化。若存在多种可行方案,输出任意一种即可。

输入输出样例

  • 输入#1

    6
    10 3
    3 1 1 1 1 10 3 10 10 2
    4 4
    1 1 1 1
    1 1
    1
    13 1
    3 1 4 1 5 9 2 6 5 3 5 8 9
    13 2
    3 1 4 1 5 9 2 6 5 3 5 8 9
    13 3
    3 1 4 1 5 9 2 6 5 3 5 8 9

    输出#1

    1 1 0 2 3 2 2 1 3 3
    4 2 1 3
    1
    0 0 1 1 0 1 1 1 0 1 1 1 0
    2 1 2 2 1 1 1 1 2 1 0 2 2
    1 1 3 2 1 3 3 1 2 2 3 2 0

说明/提示

In the first test case, the answer is shown in the figure in the statement. The red color has number 11, the blue color — 22, the green — 33.

在第一个测试用例中,答案如题目陈述中的图所示。红色对应数字 11,蓝色对应数字 22,绿色对应数字 33。

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

首页