社区讨论
大佬求助!
题目总版参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo7vqfho
- 此快照首次捕获于
- 2023/10/27 08:33 2 年前
- 此快照最后确认于
- 2023/10/27 08:33 2 年前
维护一个由n个非负整数构成的序列a[1],a[2],a[3]...a[n],支持三种操作:
1.给定区间[l,r],将对应区间内的数异或上x
2.给定区间[l,r],将对应区间内的数从小到大排序
3.给定区间[l,r],求区间内的数的异或和
1≤n,m≤100000
0≤a[i],x<108
样例解释:
原序列为1 4 2 8 3
将区间[1,3]排序,得到[1 2 4] 8 3
将区间[2,4]与5按位取异或,2 xor 5 = 7,4 xor 5 = 1,8 xor 5 = 13,得到1 [7 1 13] 3
查询区间[1,2]的异或和,[1 7] 1 13 3 ,1 xor 7 = 6
输入
第一行n,m两个整数
第二行n个整数a[i],表示原序列
接下来m行,每行三个整数op,l,r(op=2,3)或四个整数op,l,r,x(op=1)表示对应的操作
输出
对每个操作3,输出一行,表示对应的答案
输入样例
5 3
1 4 2 8 3
2 1 3
1 2 4 5
3 1 2
输出样例
6
回复
共 2 条回复,欢迎继续交流。
正在加载回复...