#P14881. [OOI2022预选赛long]Битовый хаос位混沌
[OOI2022预选赛long]Битовый хаос位混沌
题目描述
给定一个长度为 的数组 。你需要处理以下几类操作:
upd and l r x:对所有 ,执行 ;upd or l r x:对所有 ,执行 ;upd xor l r x:对所有 ,执行 ;get and l r:求所有 的 的按位与;get or l r:求所有 的 的按位或;get xor l r:求所有 的 的按位异或。
其中 & 表示按位与,| 表示按位或,xor / 表示按位异或。
输入格式
第一行输入两个整数 ,表示数组长度和操作数量。
第二行输入 个整数:
接下来 行,每行按照题目描述中的格式给出一个操作。
输出格式
对于每个 get 操作,输出对应答案。保证每个测试中至少有一个 get 操作。
数据范围
对于所有测试数据:
对于修改操作中的 :
且:
样例
输入
10 10
5 7 3 10 12 0 11 15 14 31
get or 3 7
get xor 2 9
upd and 1 5 14
upd xor 3 10 7
get xor 1 10
get and 9 10
upd or 3 8 6
get xor 1 10
get or 5 5
get xor 4 6
输出
15
8
19
8
19
15
7
评分方式
测试点分为 9 组。注意,部分测试组不要求通过样例组。只有通过某一组的全部测试,并通过该组依赖的必要组,才能获得该组分数。
| 组别 | 分数 | 附加限制 | 必要组 | 说明 |
|---|---|---|---|---|
| 0 | 无 | 样例测试 | ||
| 1 | 11 | 0 | ||
| 2 | 无 | 只出现 upd xor 和 get xor |
||
| 3 | 13 | 没有修改操作 | ||
| 4 | 12 | 只出现 upd and 和 get xor |
||
| 5 | ,数组值和修改值均不超过 | 0 | ||
| 6 | 13 | 无 | 只出现 upd xor 和 get and |
|
| 7 | 12 | 只出现与 and、or 有关的操作 |
||
| 8 | 0, 1 | |||
| 9 | 4 | 无 | 0–8 | |