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$,可以输出其中任意一个。