CF811C Vladik and Memorable Trip

题目描述

Vladik 经常乘火车旅行。他对其中某些旅程记忆犹新,现在想向你讲述其中一段旅程: Vladik 目前在起始火车站,现在共有 $n$ 个人(包括 Vladik)想要上火车。他们已经按照一定的顺序排好队,对于每个人都知道其目的地城市的编码 $a_{i}$。 列车长会从这 $n$ 个人的队列中选出若干个不相交的连续区间(不要求覆盖全部人)。在同一个区间中的人会被分配到同一个车厢。选取区间时,有一个要求:如果有至少一个人前往城市 $x$,那么所有前往城市 $x$ 的人必须都在同一个车厢中,即他们不能分在不同的区间。注意,所有前往城市 $x$ 的人要么一起去且在同一个车厢,要么都不去(即没有被分配到任何车厢)。 对于区间 $[l, r]$,其“舒适度”定义为该区间中所有不同城市编码的异或和(XOR),即将区间中所有不重复的 $a_i$ 按位异或。 本次火车旅行的总舒适度为所有已选区间舒适度之和。 现在,请你帮 Vladik 计算最大可能的总舒适度。

输入格式

第一行包含一个整数 $n$($1\leq n \leq 5000$),表示人数。 第二行包含 $n$ 个用空格隔开的整数 $a_1, a_2, \ldots, a_n$($0\leq a_i\leq 5000$),其中 $a_i$ 表示第 $i$ 个人前往城市的编码。

输出格式

输出一个整数,表示最大可能的总舒适度。

说明/提示

在第一个样例中,最佳分段为:$[4, 4]$、$[2, 5, 2]$、$[3]$。答案为:$4 + (2\ \mathrm{xor}\ 5) + 3 = 4 + 7 + 3 = 14$。 在第二个样例中,最佳分段为:$[5]$、$[1]$、$[3]$、$[1]$、$[5]$、$[2, 4, 2]$、$[5]$。答案为:$3 + (2\ \mathrm{xor}\ 4) = 3 + 6 = 9$。 由 ChatGPT 5 翻译