critnos @ 2020-02-27 12:21:53
RT,不知道为什么只有10pts
#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#define ll long long
using namespace std;
using namespace __gnu_pbds;
tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update> a;
int main()
{
int opt,m,n,last=0,s=0,i;
ll x;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%lld",&x);
a.insert((x<<20)+i);
}
for(i=n;i<n+m;i++)
{
scanf("%d%lld",&opt,&x);
x^=last;
if(opt==1) a.insert((x<<20)+i);
if(opt==2) a.erase(a.lower_bound(x<<20));
if(opt==3) printf("%d\n",last=(a.order_of_key(x<<20)+1));
if(opt==4) printf("%d\n",last=((*a.find_by_order(x-1))>>20));
if(opt==5) printf("%d\n",last=((*(--a.lower_bound(x<<20)))>>20));
if(opt==6) printf("%d\n",last=((*(a.lower_bound(x+1<<20)))>>20));
if(opt>2) s^=last;
}
printf("%d",s);
}
by 老八小憨包 @ 2020-02-27 12:48:23
不会平板电视