rt.
我感觉没什么不同,但是放到代码里结果就不一样了。
码段 1:
void splay(int p, int &to) {
for(int fa; fa = t[p].fa; rotate(p, to)) {
if(p == to) break;
if(fa != to) {
if(which(p) == which(fa)) rotate(fa, to);
else rotate(p, to);
}
}
}
码段 2:
void splay(int p, int &to) {
for(int fa; (fa = t[p].fa) != to; rotate(p, to)) {
if(p == to) break;
if(which(p) == which(fa)) rotate(fa, to);
else rotate(p, to);
}
}