QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 256 MB 총점: 100 해킹 가능 ✓

#16902. Nene and the Card Game

통계

你和 Nene 正在玩一个卡牌游戏。游戏使用一副包含 $2n$ 张卡牌的牌堆。每张卡牌上都写有一个介于 $1$ 到 $n$ 之间的整数,且 $1$ 到 $n$ 中的每个整数都恰好在牌堆中出现 $2$ 次。此外,游戏中有一个用于放置卡牌的桌面(初始时桌面为空)。

游戏开始时,这 $2n$ 张卡牌会被分发给你和 Nene,使得每人各获得 $n$ 张卡牌。

之后,你和 Nene 轮流进行总共 $2n$ 个回合,即每人进行 $n$ 个回合,由你先手。在每个回合中:

  • 当前回合的玩家从手牌中选择一张卡牌。设其上的数字为 $x$。
  • 如果桌面上已经有一张写有整数 $x$ 的卡牌,则当前回合的玩家获得 $1$ 分(否则,他不获得分数)。之后,他将这张写有整数 $x$ 的卡牌放置到桌面上。

注意,所有操作都是公开的:每个玩家在任何时刻都可以看到桌面上的所有卡牌。

Nene 非常聪明,因此她总是会以最优方式选择卡牌,以最大化她在游戏结束($2n$ 个回合后)时的得分。如果她有多种最优策略,她会选择能使你在游戏结束时得分最小的那种。

更正式地,Nene 总是会以最优方式进行操作,首要目标是最大化她自己在游戏结束时的得分,次要目标是最小化你在游戏结束时的得分。

假设卡牌已经分发完毕,且你手牌中的卡牌上写有的整数分别为 $a_1, a_2, \ldots, a_n$,如果你也以最优方式进行操作,你最多可以获得多少分?

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 $t$ ($1 \le t \le 10^4$)。接下来是每个测试用例的描述。

第一行包含一个整数 $n$ ($1 \le n \le 2 \cdot 10^5$) —— 游戏开始时你和 Nene 各自获得的卡牌数量。

第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le n$) —— 你手牌中卡牌上的整数。保证 $1$ 到 $n$ 中的每个整数在序列 $a_1, a_2, \ldots, a_n$ 中最多出现 $2$ 次。

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

输出格式

对于每个测试用例,输出一个整数:你最多可以获得的分数。

样例

输入样例 1

5
4
1 1 2 3
8
7 4 1 2 8 8 5 5
8
7 1 4 5 3 4 2 6
3
1 2 3
1
1

输出样例 1

1
2
1
0
0

说明

在第一个测试用例中,你手牌中的整数为 $1$、$1$、$2$ 和 $3$。Nene 手牌中的整数为 $2$、$3$、$4$ 和 $4$。游戏可能会按如下方式进行:

  1. 你选择一张写有整数 $1$ 的卡牌并将其放置在桌面上。
  2. Nene 选择一张写有整数 $4$ 的卡牌并将其放置在桌面上。
  3. 你选择另一张写有整数 $1$ 的卡牌,获得 $1$ 分,并将其放置在桌面上。
  4. Nene 选择另一张写有整数 $4$ 的卡牌,获得 $1$ 分,并将其放置在桌面上。
  5. 你选择写有整数 $2$ 的卡牌并将其放置在桌面上。
  6. Nene 选择写有整数 $2$ 的卡牌,获得 $1$ 分,并将其放置在桌面上。
  7. 你选择写有整数 $3$ 的卡牌并将其放置在桌面上。
  8. Nene 选择写有整数 $3$ 的卡牌,获得 $1$ 分,并将其放置在桌面上。

在游戏结束时,你得到了 $1$ 分,Nene 得到了 $3$ 分。可以证明,如果 Nene 采取最优策略,你无法获得超过 $1$ 分,因此答案为 $1$。

在第二个测试用例中,如果双方都采取最优策略,你将获得 $2$ 分,Nene 将获得 $6$ 分。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.