警示后人,如果你 RE 9pts
查看原帖
警示后人,如果你 RE 9pts
613794
jianhe楼主2024/11/29 07:16

注意 s&(1<<i) 的值为 002i2^i 而不是 0011,因此要改为 s>>i&1

void insert(ll s,ll x=0){
    for(int i=30;~i;i--){
        if(!tr[x][s&(1<<i)]) tr[x][s&(1<<i)]=++ct;
        x=tr[x][s&(1<<i)];
    }
}

->

void insert(ll s,ll x=0){
    for(int i=30;~i;i--){
        if(!tr[x][s>>i&1]) tr[x][s>>i&1]=++ct;
        x=tr[x][s>>i&1];
    }
}
2024/11/29 07:16
加载中...