#CF2042B. 游戏与彩色弹珠

游戏与彩色弹珠

B. 游戏与彩色弹珠
时间限制:2 秒
内存限制:512 MB

爱丽丝和鲍勃在玩一个游戏。一共有 nn 个弹珠,第 ii 个弹珠的颜色为 cic_i。两人轮流行动,爱丽丝先手,然后是鲍勃,再是爱丽丝,依此类推。

轮到某位玩家时,他/她必须从剩下的弹珠中拿走一颗并将其移出游戏。当没有弹珠剩下(即所有 nn 个弹珠均被取走)时,游戏结束。

游戏结束时,爱丽丝的得分计算方式如下:

  • 对于每种颜色 xx,如果爱丽丝至少取走了一个该颜色的弹珠,则获得 11 分;
  • 额外再获得 11 分(仅对游戏中原有的颜色)——如果爱丽丝取走了该颜色的所有弹珠。

举例:假设有 55 个弹珠,颜色为 [1,3,1,3,4][1,3,1,3,4],游戏过程如下:
爱丽丝取第 11 个弹珠(颜色 11),鲍勃取第 33 个弹珠(颜色 11),爱丽丝取第 55 个弹珠(颜色 44),鲍勃取第 22 个弹珠(颜色 33),最后爱丽丝取第 44 个弹珠(颜色 33)。
那么爱丽丝得分为 44

  • 33 分来自她至少取过 11 次颜色的弹珠(颜色 1,3,41,3,4);
  • 11 分来自她取走了颜色 44 的所有弹珠。
    注意:上述策略不一定是双方的最优策略。

目标
爱丽丝希望最大化自己的最终得分,鲍勃希望最小化爱丽丝的最终得分。双方均采取最优策略。

请计算在最优玩法下爱丽丝的得分。

输入
第一行一个整数 tt1t10001 \le t \le 1000)——测试用例个数。

每个测试用例包含两行:

  • 第一行一个整数 nn1n10001 \le n \le 1000)——弹珠个数;
  • 第二行 nn 个整数 c1,c2,,cnc_1, c_2, \dots, c_n1cin1 \le c_i \le n)——弹珠的颜色。

额外限制:所有测试用例的 nn 之和不超过 10001000

输出
对于每个测试用例,输出一个整数——在双方最优策略下爱丽丝的得分。

样例
输入

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

输出

4
4
1

样例说明
第二个测试用例中,所有弹珠颜色互不相同,因此无论双方如何行动,爱丽丝的得分始终为 44 分:她获得了两种颜色的所有弹珠(各 11 分额外奖励),但第三种颜色她没有拿到任何弹珠(不得 11 分的基础分)。

第三个测试用例中,所有弹珠颜色相同,因此无论双方如何行动,爱丽丝的得分始终为 11 分:她至少拿到一个该颜色弹珠(得 11 分基础分),但没有拿完所有该颜色弹珠(不得额外 11 分)。