警示后人

CF702F T-Shirts

洛苡hh @ 2025-01-10 20:51:40

关于merge函数导致的RE

void merge(int &k,int x,int y){
    if(x*y==0){
        k=x+y;
        return;
    }
    if(t[x].key>t[y].key){
        k=x;
        pushdown(k);
        merge(t[k].rs,t[x].rs,y);       
    }else{
        k=y;
        pushdown(k);
        merge(t[k].ls,x,t[y].ls);
    }
}
void merge(int &k,int x,int y){
    if(!x || !y){
        k=x+y;
        return;
    }
    if(t[x].key>t[y].key){
        k=x;
        pushdown(k);
        merge(t[k].rs,t[x].rs,y);       
    }else{
        k=y;
        pushdown(k);
        merge(t[k].ls,x,t[y].ls);
    }
}

上面那种写法乘法可能会炸int 如果一只RE调不出来 可以检查一下


by Magus @ 2025-01-10 20:54:29

SD 女队真么卷/jk


|