社区讨论
样例都过了啊,为什么还是0
P6225[eJOI 2019] 异或橙子参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lwhs804w
- 此快照首次捕获于
- 2024/05/22 20:10 2 年前
- 此快照最后确认于
- 2024/05/22 21:55 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
int n,m,a[200020];
struct bit{
int c[200020];
inline int lowbit(int x){
return x&(-x);
}
inline void change(int x,int y){
while(x<=n){
c[x]^=y;
x+=lowbit(x);
}
}
inline int query(int x){
int ans=0;
while(x){
ans^=c[x];
x-=lowbit(x);
}
return ans;
}
}tree[2];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
tree[i&1].change(i,a[i]);
}
for(int i=1;i<=m;i++){
int op,x,y;
cin>>op>>x>>y;
if(op==1){
tree[x&1].change(x,a[x]^y);
a[x]=y;
}
else{
if((x&1)^(y&1))
cout<<0<<"\n";
cout<<(tree[x&1].query(y)^tree[x&1].query(x-1))<<"\n";
}
}
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...