这个题数据真的没有问题吗?

P4735 最大异或和

@[する](/user/243672) 你觉得6.17k人通过的题数据会有问题吗?
by NASFsky @ 2023-07-18 11:09:46


请先在你自己的代码上去找问题。
by NASFsky @ 2023-07-18 11:10:12


@[NASFsky](/user/375403) 为啥m<=5,到line 5k+才报错啊,大佬能不能解决一下
by する @ 2023-07-18 11:13:18


```cpp #include<bits/stdc++.h> using namespace std; int node[14400005][2]; vector<int> v[14400005]; int cnt,n,m; int a[600005],tmp[14400005],val[14400005],tot,maxi,sum[600005]; void insert(int s,int k,int pos) { int now=0; for(int i=24;i>=0;i--) { int c=(s>>i)&1; if(node[now][c]==0) node[now][c]=++tot; now=node[now][c]; v[now].push_back(pos); tmp[now]+=k; } val[now]=s; } int query(int s,int l,int r) { int now=0; for(int i=24;i>=0;i--) { int c=(s>>i)&1; if(node[now][c^1]!=0&&tmp[node[now][c^1]]!=0) { int nxt=node[now][c^1]; int pos=lower_bound(v[nxt].begin(),v[nxt].end(),l)-v[nxt].begin(); if(v[nxt][pos]>=l&&v[nxt][pos]<=r){now=node[now][c^1];continue;} } now=node[now][c]; } return s^val[now]; } int main() { ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; sum[i]=sum[i-1]^a[i]; insert(sum[i-1],1,i); } while(m--) { char c; cin>>c; if(c=='A') { int x; cin>>x; a[++n]=x; sum[n]=sum[n-1]^a[n]; insert(sum[n-1],1,n); } else { int x,l,r; cin>>l>>r>>x; cout<<query(x^sum[n],l,r)<<"\n"; } } } ```
by する @ 2023-07-18 11:14:00


和说明提示确实不一样吧,参考[https://www.luogu.com.cn/discuss/632097](https://www.luogu.com.cn/discuss/632097) ~~(不过最大点数据在范围里就算没问题了吧)~~
by 冰糖鸽子 @ 2023-07-18 11:14:30


@[冰糖鸽子](/user/227728) 那没事了,但我觉得这个确实对人误导挺大的
by する @ 2023-07-18 11:19:38


@[する](/user/243672) 召唤啊呀改数据范围了(
by 冰糖鸽子 @ 2023-07-18 11:24:59


远古时期认识(单向)的人怎么都金了。呜呜呜。
by fresh_boy @ 2023-08-26 23:45:29


|