#P3646. [APIO2015] 巴厘岛的雕塑

    ID: 1436 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>动态规划,dp贪心2015APIO枚举,暴力进制位运算,按位

[APIO2015] 巴厘岛的雕塑

题目描述

印尼巴厘岛的公路上有许多的雕塑,我们来关注它的一条主干道。

在这条主干道上一共有 NN 座雕塑,为方便起见,我们把这些雕塑从 11NN 连续地进行标号,其中第 ii 座雕塑的年龄是 YiY_i 年。为了使这条路的环境更加优美,政府想把这些雕塑分成若干组,并通过在组与组之间种上一些树,来吸引更多的游客来巴厘岛。

下面是将雕塑分组的规则:

这些雕塑必须被分为恰好 XX 组,其中 AXBA \leq X \leq B,每组必须含有至少一个雕塑,每个雕塑也必须属于且只属于一个组。同一组中的所有雕塑必须位于这条路的连续一段上。

当雕塑被分好组后,对于每个组,我们首先计算出该组所有雕塑的年龄和。

计算所有年龄和按位取或的结果。我们这个值把称为这一分组的最终优美度。

请问政府能得到的最小的最终优美度是多少?

备注:将两个非负数 PPQQ 按位取或是这样进行计算的:

首先把 PPQQ 转换成二进制。

nPn_PPP 的二进制位数,nQn_QQQ 的二进制位数,MMnPn_PnQn_Q 中的最大值。PP 的二进制表示为 pM1pM2p1p0p_{M-1}p_{M-2} \dots p_1p_0QQ 的二进制表示为 qM1qM2q1q0q_{M-1}q_{M-2} \dots q_1 q_0,其中 pip_iqiq_i 分别是 PPQQ 二进制表示下的第 ii 位,第 M1M -1 位是数的最高位,第 00 位是数的最低位。

PPQQ 按位取或后的结果是: $(p_{M-1}\mathbin{\mathrm{OR}} q_{M-1})(p_{M-2}\mathbin{\mathrm{OR}}q_{M-2})\dots (p_1\mathbin{\mathrm{OR}} q_1) (p_0\mathbin{\mathrm{OR}}q_0)$。其中:0OR0=00 \mathbin{\mathrm{OR}} 0 = 0

0OR1=10 \mathbin{\mathrm{OR}} 1 = 1

1OR0=11 \mathbin{\mathrm{OR}} 0 = 1

1OR1=11 \mathbin{\mathrm{OR}} 1 = 1

输入格式

输入的第一行包含三个用空格分开的整数 N,A,BN, A, B

第二行包含 NN 个用空格分开的整数 Y1,Y2,,YNY_1, Y_2, \dots, Y_N

输出格式

输出一行一个数,表示最小的最终优美度。

6 1 3
8 1 2 1 5 4
11

提示

【样例解释】

将这些雕塑分为 22 组,(8,1,2)(8, 1, 2)(1,5,4)(1, 5, 4),它们的和是 (11)(11)(10)(10),最终优美度是 (11OR10)=11(11 \mathbin{\mathrm{OR}} 10) = 11。(不难验证,这也是最终优美度的最小值。)

【数据范围】

子任务 1 (9 分)1N201 \leq N \leq 20

1ABN1 \leq A \leq B \leq N

0Yi10000000000 \leq Y_i \leq 1000000000

子任务 2 (16 分)1N501 \leq N \leq 50

1ABmin{20,N}1 \leq A \leq B \leq \min\{20, N\}

0Yi100 \leq Y_i \leq 10

子任务 3 (21 分)1N1001 ≤ N ≤ 100

A=1A = 1

1BN1 \leq B \leq N

0Yi200 \leq Y_i \leq 20

子任务 4 (25 分)1N1001 \leq N \leq 100

1ABN1 \leq A \leq B \leq N

0Yi10000000000 \leq Y_i \leq 1000000000

子任务 5 (29 分)1N20001 \leq N \leq 2000

A=1A = 1

1BN1 \leq B \leq N

0Yi10000000000 \leq Y_i \leq 1000000000