一个长度为 $n$ 的数组 $a$ $(1 \le n \le 3e5, 0 \le a_i \le 1e9)$ ,当 $n \gt 2$ 时,你可以至多进行一次以下操作:
选择一个下标$i (1 \le i \le n - 2)$,交换 $ a[i]$, $ a[i+2] $ 这两个数的位置。
求该数组的子数组$^{[1]}$的异或和$^{[2]}$的最大值。
bitwim还不会做这题,你能帮帮他吗?
[1]数组a是数组b的子数组,当且仅当数组a能通过数组b删除最前面的若干个数(或不删除)及删除最后面若干个数(或不删除)得到。(数组a的长度至少为1)
[2]异或和:当我们谈到异或和时,我们指的是一种数学运算,通常用符号 ⊕ 表示。异或和是指对两个数的每一位进行异或运算得到的结果。在二进制中,异或运算的规则是:如果两个对应位的数字相同,则结果为0;如果两个对应位的数字不同,则结果为1。
例如,考虑两个二进制数 1010 和 1100,它们分别表示十进制下的10和12。它们的异或结果即为0110,即十进制下的6。