Problem B. Power Walking

时间限制 2000 ms   内存限制 256 MB

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.

样例

样例说明

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\}$$$

提交

请先 登录

© 2025 FAQs Contact About