void spl(int x,int h)
{
if(!h) rt=x;
while(fa[x]!=h)
{
int y=fa[x],z=fa[y];
if(z!=h)
{
if(chk(x)==chk(y))trn(x);
else trn(y);
}
trn(x);
}
upd(x);
}
void spl(int x,int h)
{
if(!h) rt=x;
while(fa[x]!=h)
trn(x);
upd(x);
}
实际上两种都能过(甚至第二种更快),但所有讲splay都是第一种,所以第二种的漏洞在哪?