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 翻译