#P5607. [Ynoi2013] 无力回天 NOI2017

[Ynoi2013] 无力回天 NOI2017

题目描述

给你一个长度为 n 的整数序列 a1a_1, a2a_2, \ldots, ana_n ,你需要实现以下两种操作,每个操作都可以用四个整数 opt  l  r  vopt\;l\;r\;v 来表示:

opt=1opt=1 时,代表把一个区间 [l,r][l,r] 内的所有数都 xor 上 vv

opt=2opt=2 时, 查询一个区间 [l,r][l,r] 内选任意个数(包括 00 个)数 xor 起来,这个值与 vv 的最大 xor 和是多少。

输入格式

第一行有两个正整数 n,mn,m。 第二行有 nn 个整数表示给你的序列。 之后 mm 行每行有四个整数 opt,l,r,vopt, l, r, v表示一个操作。

输出格式

对于每个 opt=2opt=2 的操作,输出一行一个数表示答案~

4 5
1 14 51 4
2 1 3 0
1 2 3 3
2 1 4 10
1 1 4 514
2 3 4 2
61
63
560

提示

Idea:nzhtl1477,Solution:nzhtl1477,Code:nzhtl1477,Data:nzhtl1477

对于 100%100\% 的数据,满足 1n,m5×1041 \le n , m \le 5 \times 10^4,值域在 [0,109][0,10^9] 之间