#P2502. 【中国电信】2025-9-15-第二题-AK的异或构造

【中国电信】2025-9-15-第二题-AK的异或构造

题目描述

AK得到了一个长为nn 的数组a1,a2.,ana_1,a_2,.,a_n,他想知道是否对于所有的下标i,j(1i,jn)i,j(1\le i,j\le n),都满足等式aiaj=ija_{i} \oplus a_{j}=i \oplus j成立.

按位异或(\oplus ):两个整数的二进制表示按位进行异或运算。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数T(1T103)T(1\le T\le 10^3)代表数据组数,每组测试数据描述如下:

第一行输入一个整数n(1n2×105)n(1 \le n\le 2\times 10^5)

第二行输入nn个正整数a1,a2,..,an(1ai109)a_1,a_2,..,a_n(1\le a_i\le 10^9)代表数组的元素。

除此之外,保证单个测试文件的nn之和不超过2×1062\times 10^6

输出描述

对于每一组测试数据,新启一行。如果符合要求,输出YesYes,否则输出NoNo

样例1

输入

2
5
7 4 5 2 3
1 1 4 5 1 4

输出

Yes
No