#P4536. 最大异或和II
最大异或和II
题目描述
我有一个数列a[1],a[2],…,a[n],每个a[i]是小于2^m的正整数。显然正整数的二进制表示下至少有一个1,
现在,我希望您能把每个数仅保留二进制下其中的某一位1,并最大化这个数列中所有数的异或和。例如,5的二进
制表示为101,那么5就只能变为4(保留从左往右第一个1,即变为100),或者1(保留另一个1,即变为001),11
的二进制表示为1011,那么它可以变为8(1000)、2(0010)、1(0001)中的某一个。
输入格式
第一行一个正整数T,表示数据组数。对于每组数据:第一行一个正整数n。接下来一行n个正整数,表示a数组
1 ≤ T ≤ 5, 1 ≤ n ≤ 100, 1 ≤ m ≤ 60, 对所有i,有1 ≤ a[i] ≤ 2^m - 1
输出格式
对于每组数据输出一行一个数,表示最大的异或和
5
7
73 4 96 49 4 57 104
7
1 72 104 20 72 104 20
7
68 118 11 1 102 8 8
7
69 32 3 32 64 72 65
7
4 4 83 121 4 4 1
121
117
121
79
97