CF2218E.The 67th XOR Problem

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

PMOI 比赛其实并没有那么糟糕 —— 坊间都说题目质量不错,甚至(老天保佑)还挺有意思的!但让 Macaque 沮丧的是,三位不守规矩的选手(Cloud、ChatGBT 和 Grook)仗着自己对 OEIS 过目不忘开始作弊。真是一群无赖!情急之下,Macaque 必须赶紧想出一道这三个人没法靠作弊解决的题目。而你,从他的同伴被贬为可怜的仆从,被拉来参与验题。

给定一个初始包含 nn 个非负整数的数组 aa。
你需要恰好执行 n−1n−1 次如下操作:

  1. 选择数组的一个下标 ii(1≤i≤∣a∣1 \le i \le |a|,∣a∣|a| 为当前数组长度),记 x=aix = a_i。
  2. 对数组中所有下标 jj(1≤j≤∣a∣1 \le j \le |a|),令 aj=aj⊕xa_j = a_j \oplus x(⊕\oplus 为按位异或)。
  3. 从数组中删除 aia_i。

可以证明,执行 n−1n−1 次操作后,数组中恰好只剩下一个元素。你的任务是:以最优方式选择操作顺序,使得最后剩下的元素尽可能大,并求出这个最大值。

输入格式

每个测试点包含多组测试数据。

第一行一个整数 t(1≤t≤100)t(1 \le t \le 100),表示测试数据组数。

每组数据格式如下:

第一行一个整数 n(2≤n≤3×105)n(2 \le n \le 3\times10^5),表示数组初始长度。

第二行 nn 个整数 a1,a2,…,an(0≤ai≤109)a_1,a_2,\ldots,a_n(0 \le a_i \le 10^9),表示数组元素。

保证所有测试数据的 nn 之和不超过 3×1053\times10^5。

输出格式

对于每组数据,输出一行一个整数,表示最终剩余元素的最大可能值。

输入输出样例

  • 输入#1

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

    输出#1

    0
    3
    1012

说明/提示

null

输入解题思路,AI测评打分。不知道怎么写?

首页