P17527 [JAG 2026 Summer Camp #1] XOR Cycle
题目描述
给定 $2N$ 个非负整数 $A_1,B_1,A_2,B_2,\ldots,A_N,B_N$。
判断是否存在一个非负整数序列 $X=(X_1,X_2,\ldots,X_N)$,其中每个元素都小于 $2^{30}$,并满足以下条件。若存在,输出任意一个这样的序列。
- 对于每个 $i=1,2,\ldots,N$,都有 $X_i\equiv (A_i\oplus X_{i-1})+(B_i\oplus X_{i-1})\pmod{2^{30}}$。
这里定义 $X_0=X_N$。此外,$a\oplus b$ 表示 $a$ 与 $b$ 的按位异或。
输入格式
输入包含一组或多组测试数据。第一行包含一个整数 $T$($1\le T\le 2\times 10^5$),表示测试数据组数。接下来给出 $T$ 组测试数据,每组格式如下:
```text
N
A_1 B_1
A_2 B_2
...
A_N B_N
```
第一行包含一个整数 $N$,表示 $A$ 和 $B$ 的长度($1\le N\le 2\times 10^5$)。对于每个 $i=1,2,\ldots,N$,接下来 $N$ 行中的第 $i$ 行包含两个整数 $A_i$ 和 $B_i$($0\le A_i,B_i
输出格式
对于每组测试数据,若存在这样的序列 $X$,按以下格式输出 `Yes`,然后输出 $X$:
```text
Yes
X_1 X_2 ... X_N
```
否则,输出 `No`。
若有多个满足条件的序列 $X$,可以输出其中任意一个。