编程题
### 问题描述 有一天,小明做梦来到了一个异空间,小明需要解出大门上的问题才能离开这里。大门上有一个长度为 $n$ 的数组,并在下面有一行字:请你将这个数组分为长度不限的任意段,并使他们的价值和最大。其中价值定义为数组中元素的异或和减去分开这段数组长度所需要付出的代价 $v_i$ 。 小明太想离开这个诡异的空间了,你能帮帮他算出如何才能将这个数组分为多段并使其价值和最大吗? 异或运算 $\bigoplus$ 的意思是两个二进制数进行运算时,如果两个数相同则运算结果为 $1$ ,反则为 $0$ 。 例如, $1\bigoplus 0=1$ , $1\bigoplus1 =0$ , $0\bigoplus 0=0$ 。 ### 输入格式 第一行,一个正整数 $n$ $(1\leq n\leq 5\times 10^3)$ ,代表大门上给出的数组的长度。 第二行,包含 $n$ 个正整数 $a_i$ $(1\leq i\leq n,1\leq a_i\leq 10^9)$ ,代表大门上给出的数组元素。 第三行,包含 $n$ 个正整数 $v_i$ $(1\leq i\leq n,1\leq v_i\leq 10^9)$ ,代表将长度为 $i$ 的数组分开所需要消耗的价值为 $v_i$ 。 ### 输出格式 一行,包含一个正整数,代表小明将数组分开后各数组的最大价值和。 ### 样例输入 ``` 5 1 2 3 4 5 5 4 3 2 1 ``` ### 样例输出 ``` 2 ``` ### 样例说明 在这个数组中,小明在位置为 $4$ 的地方将数组一分为二,此时,两个数组分别为 $[1,2,3,4]$ 和 $[5]$ 。他们的价值分别是 $1\bigoplus2\bigoplus3\bigoplus4-v_4=4-2=2$ 和 $5-v_1=5-5=0$ 所以他们的总价值为 $2+0=0$ ,可以证明没有比总价值比 $2$ 大的更优解。
查看答案
赣ICP备20007335号-2