请注意不要打错变量名
其次注意下标从0开始(需要+1)
然后注意现赋值再翻转
接着注意翻转时的传参(除非你tag2里传的是2,不然别直接传tag2)
错误示范
if(tag2[x]){
addtag(L,mid,tag2[x],x<<1);
addtag(mid+1,R,tag2[x],x<<1|1);
tag2[x]=0;
}
正确
if(tag2[x]){
addtag(L,mid,2,x<<1);
addtag(mid+1,R,2,x<<1|1);
tag2[x]=0;
}
另,讨论区有样例hack和其他错误原因补充
最后,祝愿您AC