#G0123. AND和MEX【2025模拟赛T3】

AND和MEX【2025模拟赛T3】

题目描述

江桥有一个初始为空的可重数字集合 S\Bbb S 和一个长度为 nn 的序列 a1,a2,,ana_1,a_2,\dots,a_n。现在他可以进行任意次以下操作,给 S\Bbb S 中加入一些元素,具体的,他可以任选 aa 中的任意个(也可以不选,此时 and⁡\operatorname{and} 视为 00)数字,将这些数字的 and⁡\operatorname{and}(按位与)加入集合 S\Bbb S

他可以做任意次上述操作,请问 S\Bbb Smex⁡\operatorname{mex} 最大可以达到多少。

【名词解释】 and⁡\operatorname{and}:即按位与(Bitwise AND),指对两个整数的二进制表示按位进行与运算。如果您需要更多位运算相关的知识,可以参考 OI-Wiki的相关章节

mex⁡\operatorname{mex}:整数数组的 mex⁡\operatorname{mex} 定义为没有出现在数组中的最小非负整数。例如,mex(1,2,3)=0\operatorname{mex}(1,2,3) =0mex(0,2,5)=1\operatorname{mex}(0,2,5) =1

输入格式

每个测试文件均包含多组测试数据。第一行输入一个整数 TT 代表数据组数,每组测试数据描述如下:

输入一行一个整数 nn,表示序列的长度。

第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n,表示序列中的元素。

输出格式

对于每一组测试数据,新起一行输出一个整数,表示集合 S\Bbb S 的最大 mex\operatorname{mex}

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

样例解释

对于第一组测试数据,操作如下:

一个数字都不选,可以得到 00S={0}\Bbb S = \{0\}

选择 11,可以得到 11S={0,1}\Bbb S = \{0,1\}

再选择 6,36,3,可以得到 6and3=26 \operatorname{and} 3=2S={0,1,2}\Bbb S = \{0,1,2\}

再选择 33,可以得到 33S={0,1,2,3}\Bbb S = \{0,1,2,3\}

再选择 44,可以得到 44S={0,1,2,3,4}\Bbb S = \{0,1,2,3,4\}

将以上数字加入集合 S\Bbb S,最终集合的 mex=5\operatorname{mex}=5,可以证明这是最优的答案。

数据规模与约定

下发文件

下发文件对应子任务 3,5,73,5,7

有合理的子任务依赖。

子任务编号 n\sum n≤ 特殊性质 分值
11 2020 1010
22 10310^3 T=1T = 1
33
44 10510^5 T=1T = 1
55
66 10610^6 T=1T = 1 2020
77 3030

对于 100%100\% 的数据:保证 $1 \leq T \leq 10^5,1 \leq n,\sum n \leq 10^6,0 \leq a_i \leq n$。