#CCAC000106. 第 67 个异或问题

第 67 个异或问题

题目描述

江月诗设计了一个数组消除游戏。游戏开始时,有一个长度为 nn 的数组 aa,其中的元素都是非负整数。

游戏要求恰好执行 n−1n-1 次以下操作:

  1. 在当前数组中选择一个下标 ii,满足 1≤i≤∣a∣1\le i\le |a|,并记 x=aix=a_i。其中,∣a∣|a| 表示数组当前的长度。
  2. 对当前数组中的每个元素执行 aj←aj⊕xa_j\leftarrow a_j\oplus x,其中 ⊕\oplus 表示按位异或运算。
  3. 从数组中删除第 ii 个元素。

注意,xx 是本次操作开始时选中元素的值;执行异或时,所有元素都使用这个固定的 xx。

执行完 n−1n-1 次操作后,数组中恰好剩下一个元素。江月诗可以自由选择每次操作的下标,请求出最后剩余元素的最大可能值。

输入格式

第一行包含一个整数 tt,表示测试用例数量,满足 1≤t≤1001\le t\le100。

每组测试用例包含两行:第一行为整数 nn,满足 2≤n≤31052\le n\le3105;第二行为 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n,满足 0≤ai≤1090\le a_i\le10^9。

保证所有测试用例的 nn 之和不超过 31053105。

输出格式

对每组测试用例,输出一个整数,表示最后剩余元素的最大可能值。

输入输出样例 1

3
2
67 67
3
1 2 3
10
67 667 167 867 267 467 367 567 767 967
0
3
1012

提示/说明

第一组测试用例中,无论选择哪个元素,最后都得到 67⊕67=067\oplus67=0。

第二组测试用例中,一种最优操作方案如下:

  1. 在 [1,2,3][1,2,3] 中选择值为 33 的元素。所有元素与 33 异或后,删除选中的元素,数组变为 [2,1][2,1]。
  2. 在 [2,1][2,1] 中选择值为 22 的元素。执行操作后,最后剩下的元素为 1⊕2=31\oplus2=3。

因此,这组测试用例的答案为 33。