309204: CF1642B. Power Walking

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Power Walking

题意翻译

## 题目描述 将 $n$ 个数 $a_1$ 至 $a_n$ 分成 $k$ 组,求每组中去重后的元素个数之和的最小值。 ## 输入格式 本题采用多组数据。 第一行,一个整数 $t$ ,表示数据组数。 对于每组数据: 第一行,一个整数 $n$ ,表示元素个数。 第二行,$n$ 个整数,表示待分组的元素 $a_1$ 至 $a_n$ 。 ## 输出格式 对于每组测试数据,输出 $1$ 行 $n$ 个以空格分割的整数,表示 $k$ 从 $1$ 到 $n$ 的运算结果。

题目描述

Sam is a kindergartener, and there are $ n $ children in his group. He decided to create a team with some of his children to play "brawl:go 2". Sam has $ n $ power-ups, the $ i $ -th has type $ a_i $ . A child's strength is equal to the number of different types among power-ups he has. For a team of size $ k $ , Sam will distribute all $ n $ power-ups to $ k $ children in such a way that each of the $ k $ children receives at least one power-up, and each power-up is given to someone. For each integer $ k $ from $ 1 $ to $ n $ , find the minimum sum of strengths of a team of $ k $ children Sam can get.

输入输出格式

输入格式


Each test contains multiple test cases. The first line contains a single integer $ t $ ( $ 1 \le t \le 3 \cdot 10^5 $ ) — the number of test cases. Description of the test cases follows. The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 3 \cdot 10^5 $ ). The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 1 \le a_i \le 10^9 $ ) — types of Sam's power-ups. It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 3 \cdot 10^5 $ .

输出格式


For every test case print $ n $ integers. The $ k $ -th integer should be equal to the minimum sum of strengths of children in the team of size $ k $ that Sam can get.

输入输出样例

输入样例 #1

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

输出样例 #1

2 2 3 
4 4 4 4 5 6

说明

One of the ways to give power-ups to minimise the sum of strengths in the first test case: - $ k = 1: \{1, 1, 2\} $ - $ k = 2: \{1, 1\}, \{2\} $ - $ k = 3: \{1\}, \{1\}, \{2\} $ One of the ways to give power-ups to minimise the sum of strengths in the second test case: - $ k = 1: \{1, 2, 2, 2, 4, 5\} $ - $ k = 2: \{2, 2, 2, 4, 5\}, \{1\} $ - $ k = 3: \{2, 2, 2, 5\}, \{1\}, \{4\} $ - $ k = 4: \{2, 2, 2\}, \{1\}, \{4\}, \{5\} $ - $ k = 5: \{2, 2\}, \{1\}, \{2\}, \{4\}, \{5\} $ - $ k = 6: \{1\}, \{2\}, \{2\}, \{2\}, \{4\}, \{5\} $

Input

题意翻译

## 题目描述 将 $n$ 个数 $a_1$ 至 $a_n$ 分成 $k$ 组,求每组中去重后的元素个数之和的最小值。 ## 输入格式 本题采用多组数据。 第一行,一个整数 $t$ ,表示数据组数。 对于每组数据: 第一行,一个整数 $n$ ,表示元素个数。 第二行,$n$ 个整数,表示待分组的元素 $a_1$ 至 $a_n$ 。 ## 输出格式 对于每组测试数据,输出 $1$ 行 $n$ 个以空格分割的整数,表示 $k$ 从 $1$ 到 $n$ 的运算结果。

加入题单

算法标签: