写这题时01tire未知原因RE了,算了下空间感觉没问题就看题解去了。发现插入时我写的这个chk=x&(1<<i);改成这个chk=(x>>i)&1;就对了。
chk=x&(1<<i);
chk=(x>>i)&1;
我寻思这两句不一样吗。。。
void ins(int x){ int p=0,chk; ff(i,29,0){ // chk=x&(1<<i); chk=(x>>i)&1; if(!t[p][chk]){ t[p][chk]=++cnt; } p=t[p][chk]; } return ; }