CF1943A MEX Game 1
题目描述
Alice 和 Bob 又在一个长度为 $n$ 的数组 $a$ 上玩游戏。Alice 从一个空数组 $c$ 开始。两位玩家轮流操作,Alice 先手。
在 Alice 的回合,她从 $a$ 中选择一个元素,将其添加到 $c$ 的末尾,并从 $a$ 中删除该元素。
在 Bob 的回合,他从 $a$ 中选择一个元素,并从 $a$ 中删除该元素。
当数组 $a$ 为空时,游戏结束。游戏的得分定义为数组 $c$ 的 $\operatorname{MEX}^\dagger$。Alice 希望最大化得分,而 Bob 希望最小化得分。若双方都采取最优策略,求游戏的最终得分。
$\dagger$ 数组的 $\operatorname{MEX}$(最小未出现的非负整数)定义为:在该数组中没有出现的最小非负整数。例如:
- $[2,2,1]$ 的 MEX 是 $0$,因为 $0$ 没有出现在数组中。
- $[3,1,0,1]$ 的 MEX 是 $2$,因为 $0$ 和 $1$ 出现在数组中,但 $2$ 没有。
- $[0,3,1,2]$ 的 MEX 是 $4$,因为 $0$、$1$、$2$ 和 $3$ 都出现了,但 $4$ 没有。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \leq t \leq 2 \times 10^4$),表示测试用例的数量。接下来是每组测试用例的描述。
每组测试用例的第一行包含一个整数 $n$($1 \le n \le 2 \times 10^5$)。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i < n$)。
保证所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
输出格式
对于每组测试用例,若双方都采取最优策略,输出游戏的最终得分。
说明/提示
在第一个测试用例中,一种得分为 $2$ 的可能游戏过程如下:
1. Alice 选择元素 $1$。此时 $a=[0,0,1]$,$c=[1]$。
2. Bob 选择元素 $0$。此时 $a=[0,1]$,$c=[1]$。
3. Alice 选择元素 $0$。此时 $a=[1]$,$c=[1,0]$。
4. Bob 选择元素 $1$。此时 $a=[\,]$,$c=[1,0]$。
最终,$c=[1,0]$,其 MEX 为 $2$。注意,这只是一个示例过程,并不一定代表双方的最优策略。
由 ChatGPT 4.1 翻译