AT_dwacon5th_final_b XOR Spread
题目描述
给定一个长度为 $N$ 的数列 $a$,第 $i$ 个元素为 $a_i$。
你可以对 $a$ 进行如下操作若干次(可以为 $0$ 次):
- 操作:选择一个满足 $1 < i < N$ 的整数 $i$,将 $a_{i-1}$ 替换为 $a_{i-1} \ {\rm{XOR}}\ a_{i}$,将 $a_{i+1}$ 替换为 $a_{i+1} \ {\rm{XOR}}\ a_{i}$。这里的 ${\rm{XOR}}$ 表示按位异或运算。
请你求出经过若干次操作后,可能得到的字典序最小的数列 $a$。
输入格式
输入以如下格式从标准输入读入:
> $N$ $a_1$ $a_2$ $\ldots$ $a_N$
输出格式
请输出答案。
说明/提示
## 限制条件
- $1 \leq N \leq 10^5$
- $0 \leq a_i \leq 10^9$
- 输入均为整数
## 样例解释 1
- 通过一次操作,可以将 $(2,3,1) \rightarrow (2\ {\rm{XOR}}\ 3,\ 3,\ 1\ {\rm{XOR}}\ 3) = (1,3,2)$。
由 ChatGPT 4.1 翻译