其实是我太蒻了。我怎么调,输出也不对,样例也不过。甚至我都把数据没加强版的模板粘来了,只写主函数,可答案依旧不对,哪位大佬能帮我看看?
因为在那个模板AC了,所以关于splay的操作应该没有问题,只帮我看看主函数吧……样例输出6,但我的程序输出5。
int n,m,opt,x,last,ans;
int main()
{
insert(-inf); insert(inf);
n=read(); m=read();
for(register int i=1;i<=n;i++)
{
insert(read());
}
for(register int i=1;i<=m;i++)
{
opt=read(); x=read();
x^=last;
switch(opt)
{
case 1:insert(x);break;
case 2:Delete(x);break;
case 3:last=Rank(x);break;
case 4:last=kth(x+1);break;
case 5:last=val(get_pre(x));break;
case 6:last=val(get_nxt(x));break;
}
if(opt>=3) ans^=last;
}
printf("%d\n",ans);
return 0;
}