题解:P17204 「DLESS-6」XOR and MEX
先想想看怎么让
两边同时异或
也就是取一个序列
然后题目里要求的是
那么有任意
也就是说,原序列里不存在
因为异或操作可以看作不进位的加法,有
所以现在问题就变成了找到最小的
我们记录一下值域在
::::info[代码]
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0);cin.tie(0);
int tc;cin>>tc;while(tc--){
int n,ans;cin>>n;ans=n;
vector<int> a(n,0),vis(n,0);
for(int i=0;i<n;++i){
cin>>a[i];
if(a[i]<n)vis[a[i]]=1;
}
for(int i=0;i<n;++i){
if(vis[i]==0){
ans=i;break;
}
}
cout<<ans<<'\n';
}
}
::::