#3225. ORXOR

0

ORXOR

ORXOR

题目描述

给定长度为 NN 的数列 AA.
让我们把该数列划分为一个或多个非空的连续区间。
然后,对每一个这样的区间,计算该区间内数的按位 OR\mathrm{OR}.
求通过这种方式得到的值的按位 XOR\mathrm{XOR} 的最小可能值。

什么是按位 $\mathrm{OR}$?
    整数 $A$ 和 $B$ 的按位 $\mathrm{OR}$,$A\ \mathrm{OR}\ B$,定义如下:

当 A OR BA\ \mathrm{OR}\ B 以二进制表示时,2k2^k 位(k≥0k \geq 0)上的数字当且仅当 AA 或 BB 的该位至少有一个为 11 时为 11,否则为 00。

    例如,$3\ \mathrm{OR}\ 5 = 7$(二进制:$011\ \mathrm{OR}\ 101 = 111$)。<br/>  
    一般地,$k$ 个整数 $p_1, p_2, p_3, \dots, p_k$ 的按位 $\mathrm{OR}$ 定义为 $(\dots ((p_1\ \mathrm{OR}\ p_2)\ \mathrm{OR}\ p_3)\ \mathrm{OR}\ \dots\ \mathrm{OR}\ p_k)$。我们可以证明该值不依赖于 $p_1, p_2, p_3, \dots p_k$ 的顺序。
什么是按位 $\mathrm{XOR}$?
    整数 $A$ 和 $B$ 的按位 $\mathrm{XOR}$,$A\ \mathrm{XOR}\ B$,定义如下:

当 A XOR BA\ \mathrm{XOR}\ B 以二进制表示时,2k2^k 位(k≥0k \geq 0)上的数字当且仅当 AA 和 BB 的该位恰好有一个为 11 时为 11,否则为 00。

    例如,$3\ \mathrm{XOR}\ 5 = 6$(二进制:$011\ \mathrm{XOR}\ 101 = 110$)。<br/>  
    一般地,$k$ 个整数 $p_1, p_2, p_3, \dots, p_k$ 的按位 $\mathrm{XOR}$ 定义为 $(\dots ((p_1\ \mathrm{XOR}\ p_2)\ \mathrm{XOR}\ p_3)\ \mathrm{XOR}\ \dots\ \mathrm{XOR}\ p_k)$。我们可以证明该值不依赖于 $p_1, p_2, p_3, \dots p_k$ 的顺序。

输入格式

输入从标准输入按以下格式给出: NN A1A_1 A2A_2 A3A_3 …\dots ANA_N

输出格式

输出答案。

3
1 5 7
2
3
10 10 10
0
4
1 3 3 1
0

提示

1≤N≤201 \le N \le 20 0≤Ai<2300 \le A_i \lt 2^{30} 输入中的所有值都是整数。如果我们把 [1,5,7][1, 5, 7] 划分为 [1,5][1, 5] 和 [7][7],它们的按位 OR\mathrm{OR} 分别为 55 和 77,它们的 XOR\mathrm{XOR} 为 22.
不可能得到更小的结果,所以我们输出 22。

我们应当把该数列划分为 [10][10] 和 [10,10][10, 10].
我们应当把该数列划分为 [1,3][1, 3] 和 [3,1][3, 1].

标签: AtCoder|abc197C

来源

AtCoder|abc197C