AT_nupc2024_g Super 累積 XOR

题目描述

给定一个由 $N$ 个整数构成的数列 $A = (A_1, A_2, \dots, A_N)$。 请输出对 $A$ 进行如下操作 $K$ 次之后得到的数列。 - 针对 $i=1,2,\dots,N$,同时将 $A_i$ 替换为 $A_1 \oplus A_2 \oplus \dots \oplus A_i$。 其中,$\oplus$ 表示按位异或运算。

输入格式

输入通过标准输入按如下格式给出。 > $N$ $K$ $A_1$ $A_2$ $\dots$ $A_N$

输出格式

请将上述操作执行 $K$ 次后数列 $A=(A_1,A_2,\dots,A_N)$ 的每个元素,按顺序用空格分隔输出。

说明/提示

## 部分分 对于额外的限制 $N \leq 1000$ 的数据集,答对可获得 $1$ 分。 ## 样例说明 1 最开始,$(A_1, A_2, A_3)=(1,2,3)$。 执行第 $1$ 次操作后,$(A_1, A_2, A_3)=(1,1 \oplus 2,1 \oplus 2 \oplus 3)=(1,3,0)$。 执行第 $2$ 次操作后,$(A_1, A_2, A_3)=(1,1 \oplus 3,1 \oplus 3 \oplus 0)=(1,2,2)$。 # 数据范围 - $1 \leq N \leq 2 \times 10^5$ - $1 \leq K \leq 10^{18}$ - $0 \leq A_i < 2^{30}$ - 输入均为整数。 由 ChatGPT 5 翻译