数据是不是太弱了

P3391 【模板】文艺平衡树

niiick @ 2018-04-01 16:27:29

splay里面有一个旋转写错竟然还A了

void splay(int& p,int x) 
{   
    while(x!=p) 
    {
        int y=fa[x],z=fa[y];
        if(y!=p) 
        {
            if((ch[y][0]==x)^(ch[z][0]==y)) rotate(p,y);//就这里写错竟然过了
            else rotate(p,y);
        }
        rotate(p,x);
    }
}

搞得我后来写其它题调了好久都不对

才发现我splay的板子一直错了

(掀桌)


by SofanHe @ 2018-04-02 06:34:55

@niiick 这不是单旋的操作吗?


by niiick @ 2018-04-02 10:59:45

@ 多功能的荀彧

if((ch[y][0]==x)^(ch[z][0]==y)) rotate(p,x);

这里应该是这样的吧


by niiick @ 2018-04-02 10:59:57

@多功能的荀彧


|