题目名称 2720. [BZOJ 2741]Fotile 模拟赛L
输入输出 fotilel.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2017-07-01加入
开放分组 全部用户
提交状态
分类标签
可持久化 字典树/Trie 分块
分享题解
通过:0, 提交:0, 通过率:0%
关于 Fotile 模拟赛L 的近10条评论(全部评论)

2720. [BZOJ 2741]Fotile 模拟赛L

★★★   输入文件:fotilel.in   输出文件:fotilel.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

FOTILE 得到了一个长为 N 的序列 A,为了拯救地球,他希望知道某些区间内的最大的连续 XOR 和。

即对于一个询问,你需要求出 max(Ai xor Ai+1 xor Ai+2 … xor Aj),其中 l≤i≤j≤r。

为了体现在线操作,对于一个询问 (x,y):

l=min(((x+lastans)modN)+1,((y+lastans)modN)+1)

r=max(((x+lastans)modN)+1,((y+lastans)modN)+1)

其中 lastans 是上次询问的答案,一开始为 0。

【输入格式】

第一行两个整数 N 和 M。

第二行有 N 个正整数,其中第 i 个数为 Ai。

后 M 行每行两个整数 x,y 表示一对询问。

【输出格式】

共 M 行,每行输出一个正整数,第 i 行的正整数表示第 i 个询问的结果。

【样例输入】

3 3
1 4 3
0 1
0 1
4 3

【样例输出】

5
7
7

【数据规模与约定】

$N=12000,M=6000,0<Ai<2^{31},0<x,y<2^{31}$