Problem 6D. XOR query
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Problem 6D. XOR query
时间限制:1000ms
空间限制:256MB
题目描述
给定一个长度为 \(n\) 为序列 \(a\),请判断这个序列中如否存在一段区间的异或和为 \(0\)。
例如 \([5, 1, 2, 3, 4]\) 就满足条件,因为 \([1, 2, 3]\) 这段区间的数的异或和为 \(1 \oplus 2 \oplus 3 = 0\).
输入格式
第一行一个正整数 \(T\),代表测试数据组数。
对于每一组输入两行,一行一个正整数 \(n\) ;
第二行 \(n\) 个整数,用空格隔开,代表序列中的每个数。
输出格式
输出 \(T\) 行,每行一个结果,如果是 “YES" 代表存在一段区间异或和为 0,否则输出 “NO”(不包含引号)
注意YES和NO都要大写
样例输入
2
5
5 1 2 3 4
4
1 3 1 4
样例输出
YES
NO
样例解释
对于第二组数据,每个区间的异或和分别为:
\([1] : 1\)
\([3]: 3\)
\([1]: 1\)
\([4]: 4\)
\([1, 3]: 1 \oplus 3 = 2\)
\([3, 1]: 3 \oplus 1 = 2\)
\([1, 4]: 1 \oplus 4 = 5\)
\([1, 3, 1]: 1\oplus 3 \oplus 1 = 3\)
\([3, 1, 4]: 3 \oplus 1 \oplus 4 = 6\)
\([1, 3, 1, 4]: 1 \oplus 3 \oplus 1 \oplus 4 = 7\)
数据规模与约定
对于 \(60\%\) 的数据,\(1 \le T \le 10^3\), \(1 \le \sum n \le 10^3\);
对于 \(100\%\) 的数据,\(1 \le T \le 10^4\), \(1 \le \sum n \le 10^6\),\(1 \le a_i \le 10^9\).