#P15591. [2025年山东第一轮集训] 异或

    ID: 14803 传统题 9000ms 512MiB 尝试: 2 已通过: 1 难度: 8 上传者: 标签>数据结构分块算法基础模拟数学CF2500字典树

[2025年山东第一轮集训] 异或

题目描述

给定 nn 个整数:

a1,a2,,an,a_1,a_2,\ldots,a_n,

你需要支持以下两种操作:

  1. 1 l r v:将区间 [l,r][l,r] 内的 aia_i 异或上 vv,其中异或指的是二进制下按位异或。
  2. 2 l r k:求区间 [l,r][l,r] 内第 kk 小的 aia_i

输入格式

第一行输入三个整数 n,m,typen,m,type

接下来一行输入 nn 个整数:

a1,a2,,an.a_1,a_2,\ldots,a_n.

接下来 mm 行,每行输入 44 个整数,意义如上。

如果 type=1type=1,则 k/vk/v 需要异或 lastans,其中 lastans 表示上一次输出的答案,初始时为 00

输出格式

对于每个 2 操作,输出一行一个整数,表示第 kk 小的 aia_i 的值。

样例 1 输入

5 5 0
11 1 13 10 9
1 2 5 9
2 3 3 1
1 1 2 4
2 1 4 3
2 2 3 2

样例 1 输出

4
12
12

样例 2 输入

10 10 0
11 10 3 4 7 5 12 1 0 8
1 7 7 8
2 2 3 1
2 3 7 5
1 3 8 8
1 1 8 3
1 1 7 5
2 3 7 4
1 6 9 1
1 2 3 8
2 1 6 5

样例 2 输出

3
7
11
10

测试点约束

测试点 nn\le mm\le typetype 特殊性质
1,21,2 50005000 00
3,43,4 2×1042\times 10^4
585\sim 8 5×1045\times 10^4
99 10510^5 A, B
1010 A
1111 B
12,1312,13 C
14,1514,15 D
161816\sim 18
19,2019,20 11

特殊性质 A:若 opti=1opt_i=1,则 li=1,ri=nl_i=1,r_i=n

特殊性质 B:若 opti=2opt_i=2,则 li=1,ri=nl_i=1,r_i=n

特殊性质 C:所有修改操作都在查询操作前面。

特殊性质 D:数据随机生成。

对于所有测试点:

1n,m105,1\le n,m\le 10^5, ai,vi<264,a_i,v_i<2^{64}, 1lirin,1\le l_i\le r_i\le n, 1kirili+1.1\le k_i\le r_i-l_i+1.