题目名称 3712. 异或线段
输入输出 xoronsegment.in/out
难度等级 ★★☆
时间限制 3000 ms (3 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravataryrtiop 于2022-07-12加入
开放分组 全部用户
提交状态
分类标签
分块 线段树 异或相关
分享题解
通过:0, 提交:0, 通过率:0%
关于 异或线段 的近10条评论(全部评论)

3712. 异或线段

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

【题目描述】

给定一个长度为 $n$ 的序列 $a$,有 $m$ 次操作,操作分两种:

$1 \ l \ r$:求 $\sum\limits_{i=l}^r a_i$。

$2 \ l \ r \ x$:将 $a_l\sim a_r$ 中的每个数异或上 $x$。 

【输入格式】

第一行,一个整数 $n$。

第二行,$n$ 个整数,表示序列 $a$。

第三行,一个整数 $m$。

接下来 $m$ 行,每行一种操作,格式见题目描述。

【输出格式】

对于每个 $1$ 操作,输出一个整数表示答案。

【样例输入1】

5
4 10 3 13 7
8
1 2 4
2 1 3 3
1 2 4
1 3 3
2 2 5 5
1 1 5
2 1 2 10
1 2 3

【样例输出1】

26
22
0
34
11

【样例输入2】

6
4 7 4 0 7 3
5
2 2 3 8
1 1 5
2 3 5 1
2 4 5 6
1 2 3

【样例输出2】

38
28

【数据规模与约定】

对于 20% 的数据,$1 \le n,m \le 10^3$。

对于 100% 的数据,$1 \le n \le 10^5,1 \le m \le 5\times 10^4,1\le a_i,x \le 10^6$。

【来源】

hasy-lgc