U145408 异或
题目背景
小明~~在校园里瞎逛了一圈并解决了矩阵链问题~~后就去到了机房,开始上他最喜欢的信息课了。
今天老师讲到了电脑的存储运算等内容,自然就离不开二进制了,~~然后不知为什么就讲到了位运算~~。
[$\textcolor{#000000}{拓展版链接}$](https://www.luogu.com.cn/problem/P7335)
题目描述
现在给出 $n$ 和序列 $a_{1,2...n}$,选出 $l_1,r_1,l_2,r_2,l_3,r_3$ 使得
$$\bigoplus_{i=l_1}^{r_1}a_i+\bigoplus_{j=l_2}^{r_2}a_j+\bigoplus_{k=l_3}^{r_3}a_k$$
最大并且满足 $1\leqslant l_1\leqslant r_1
输入格式
输入共 $2$ 行。\
第 $1$ 行输入一个正整数 $n$。\
第 $2$ 行输入 $n$ 个非负整数代表序列 $a$。
输出格式
输出共 $2$ 行。\
第 $1$ 行输出一个非负整数,代表这个式子的最大值。\
第 $2$ 行输出 $6$ 个正正整数代表 $l_1,r_1,l_2,r_2,l_3,r_3$.如果有多解,任意输出一种解即可。
说明/提示
对于 $100\%$ 的数据, $3\leqslant n\leqslant 5000,0\leqslant a_i\leqslant 10^{9}$
这里提供 [$\textcolor{#000000}{SPJ}$](https://www.luogu.com.cn/paste/wpwcjhkl)
#### 计分方式
对于一个测试点:
- 如果你给出的 $l,r$ 不符合要求,给出 $0$ 分
- 如果你给出的 $l,r$ 符合要求,但是不能得到你给出的最大值,给出 $0$ 分
- 如果你给出的最大值 $\leqslant$ 答案 $\times\;70\%$,给出 $0$ 分
- 如果你给出的最大值$out$ $>$ 答案$ans$ $\times\;70\%$,但 $< ans$,给出$\frac{out}{ans}\times100\%-70\%$ 的分数
- 如果你给出的最大值$out$ $\geqslant$ 答案$ans$,给出 $100\%$ 的分数
对于所有数据点:
- 分成 $4$ 个 $Subtask$ ,每个 $Subtask$ 取得到的最少分作为这个 $Subtask$ 的得分
- 对于 $Subtask\,4$,时间限制为 $2\,s$,其余 $Subtask$,时间限制为 $0.5\,s$
- 对于所有 $Subtask$,空间限制是 $256\,MB$
| $Subtask$ | $n\leqslant $ | $score$ |
| :----------: | :----------: | :----------: |
| $1$ | $30$ | $15$ |
| $2$ | $1000$ | $25$ |
| $3$ | $2000$ | $30$ |
| $4$ | $5000$ | $30$ |