题目名称 3103. [HAOI 2019]异或粽子
输入输出 haoi2019_xor.in/out
难度等级 ★★★☆
时间限制 2000 ms (2 s)
内存限制 1024 MiB
测试数据 20
题目来源 Gravataryuan 于2019-04-08加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:7, 提交:24, 通过率:29.17%
Gravatar┭┮﹏┭┮ 100 7.151 s 83.89 MiB C++
Gravatarcqw 100 8.550 s 542.94 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 9.306 s 400.86 MiB C++
Gravatar┭┮﹏┭┮ 100 9.438 s 162.68 MiB C++
Gravatar斯内普和骑士 100 11.590 s 212.04 MiB C++
GravatarLGLJ 100 11.994 s 250.82 MiB C++
Gravatar梦那边的美好ET 100 13.969 s 239.67 MiB C++
Gravatar代金永爱关凯文 80 15.958 s 225.55 MiB C++
GravatarOstmbh 60 2.301 s 79.45 MiB C++
Gravatarcool 60 5.107 s 10.79 MiB C++
本题关联比赛
HAOI2019 Day1
关于 异或粽子 的近10条评论(全部评论)
因为 $4294967295 = 2^{32}$,所以要开 $longlong$。
Gravatar┭┮﹏┭┮
2024-08-29 17:32 2楼
抢楼!省选留念
GravatarTheresis
2019-04-09 20:29 1楼

3103. [HAOI 2019]异或粽子

★★★☆   输入文件:haoi2019_xor.in   输出文件:haoi2019_xor.out   简单对比
时间限制:2 s   内存限制:1024 MiB

【题目描述】

小粽是一个喜欢吃粽子的好孩子。今天她在家里自己做起了粽子。

小粽面前有 $n$ 种互不相同的粽子馅儿,小粽将它们摆放为了一排,并从左至右编号为 $1$ 到 $n$。第 $i$ 种馅儿具有一个非负整数的属性值 $a_i$。每种馅儿的数量都足够多,即小粽不会因为缺少原料而做不出想要的粽子。小粽准备用这些馅儿来做出 $k$ 个粽子。

小粽的做法是:选两个整数数 $l,r$,满足 $1\leq l\leq r\leq n$,将编号在 $[l,r]$ 范围内的所有馅儿混合做成一个粽子,所得的粽子的美味度为这些粽子的属性值的异或和。(异或就是我们常说的 xor 运算,即 C/C++ 中的 ˆ 运算符或 Pascal 中的 xor 运算符)

小粽想品尝不同口味的粽子,因此它不希望用同样的馅儿的集合做出一个以上的 粽子。

小粽希望她做出的所有粽子的美味度之和最大。请你帮她求出这个值吧!

【输入格式】

第一行两个正整数 $n,k$,表示馅儿的数量,以及小粽打算做出的粽子的数量。

接下来一行为 $n$ 个非负整数,第 $i$ 个数为 $a_i$,表示第 $i$ 个粽子的属性值。 对于所有的输入数据都满足:

$1\leq n\leq 5\times 10^5,1\leq k\leq \min\{\frac{n(n-1)}{2},2\times 10^5\},0\leq a\leq 4294967295$。

【输出格式】

输出一行一个整数,表示小粽可以做出的粽子的美味度之和的最大值。

【样例输入】

3 2
1 2 3

【样例输出】

6

【样例说明】

小粽可以选取 $[3,3],[1,2]$ 两个区间的馅儿做成粽子,两个粽子的美味度都为 3,和为 6。可以证明不存在比这更优的方案。

【数据规模与约定】

【来源】

HAOI2019(12省联考)day1 T1