编程题
### 问题描述 小蓝是一个热爱解决难题的冒险家,他最近遇到了一个具有挑战性的任务。他手里有一个长度为 $n$ 的序列,其中包含了 $n$ 个整数。现在,小蓝需要将这个序列划分成 $k$ 个子段,每个子段的价值定义为该子段内元素的异或和。他的目标是最小化这些子段的最大价值。 具体来说,小蓝需要找到一种划分方式,使得所有子段的最大价值尽可能小。这对小蓝来说是一项艰巨的任务,但他相信您可以帮助他找到答案。 你能帮助小蓝解决这个分段之谜吗? ### 输入格式 第一行输入两个整数 $n$ 和 $k$,分别表示序列的长度和子段的数量。 接下来一行输入 $n$ 个整数,表示序列中的元素。 ### 输出格式 输出一个整数,表示小蓝能够达到的最小的子段最大价值。 ### 样例输入 ``` 5 2 1 4 3 5 10 ``` ### 样例输出 ``` 8 ``` ### 说明 一种分割方式是 $\lbrace 1 \rbrace,\lbrace 4,3,5,10 \rbrace$,第一段的价值为 $1$,第二段的价值是 $8$,最大值是 $8$。 可以证明,这是最小的最大值,其他划分方式均比该方式要大。 ### 评测数据范围 $1 \le n \le 200, 1 \le k \le 100$。
查看答案
赣ICP备20007335号-2