A6706 | 「HEOI2013」ALO
时间限制3s
内存限制256MB
通过 / 提交0/0
题目描述
Welcome to ALO (Arithmetic and Logistic Online)。这是一个 VR MMORPG,如名字所见,到处充满了数学的谜题。
现在你拥有 $n$ 颗宝石,每颗宝石有一个能量密度,记为 $a_i$,这些宝石的能量密度两两不同。现在你可以选取连续的一些宝石(必须多于一个)进行融合,设为 $a_i, a_i + 1,\dots , a_j$,则融合而成的宝石的能量密度为这些宝石中能量密度的次大值与其他任意一颗宝石的能量密度按位异或的值,即,设该段宝石能量密度次大值为 $k$,则生成的宝石的能量密度为 $\max\{k \text{ xor } a_p | a_p \ne k, i \leq p \leq j\}$。
现在你需要知道你怎么选取需要融合的宝石,才能使生成的宝石能量密度最大。
现在你拥有 $n$ 颗宝石,每颗宝石有一个能量密度,记为 $a_i$,这些宝石的能量密度两两不同。现在你可以选取连续的一些宝石(必须多于一个)进行融合,设为 $a_i, a_i + 1,\dots , a_j$,则融合而成的宝石的能量密度为这些宝石中能量密度的次大值与其他任意一颗宝石的能量密度按位异或的值,即,设该段宝石能量密度次大值为 $k$,则生成的宝石的能量密度为 $\max\{k \text{ xor } a_p | a_p \ne k, i \leq p \leq j\}$。
现在你需要知道你怎么选取需要融合的宝石,才能使生成的宝石能量密度最大。
输入格式
第一行有一个整数 $n$,表示宝石个数。
第二行有 $n$ 个整数,分别表示 $a_1$ 至 $a_n$,表示每颗宝石的能量密度,保证对于 $i \ne j$ 有 $a_i \ne a_j$。
第二行有 $n$ 个整数,分别表示 $a_1$ 至 $a_n$,表示每颗宝石的能量密度,保证对于 $i \ne j$ 有 $a_i \ne a_j$。
输出格式
输出一行一个整数,表示最大能生成的宝石能量密度。
输入输出样例
输入 #1
5 9 2 1 4 7
输出 #1
14
对于 $20\%$ 的数据有 $n \leq 100$;
对于 $50\%$ 的数据有 $n \leq 2000$;
对于 $100\%$ 的数据有 $1 \leq n \leq 50000$,$0 \leq a_i \leq 10^9$。
对于 $50\%$ 的数据有 $n \leq 2000$;
对于 $100\%$ 的数据有 $1 \leq n \leq 50000$,$0 \leq a_i \leq 10^9$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?