之前做魔法森林,提交了一个看起来错误的代码,发现通过了就没再管
后来再做别的LCT题时发现新写的代码和之前的代码不一样
唯一不同的函数——cut函数分别为
inline void cut(node *x,node *y)
{
mkr(x);
access(y);
x->pa->rson=0;//老代码
x->pa=0;
}
和
inline void cut(node *x,node *y)
{
mkr(x);
access(y);
x->pa->lson=0;//新代码
x->pa=0;
}
提交记录如下
1.老代码
2.新代码
后来我又尝试把这行不同的代码去掉
还是过了
3.修改后的代码
有没有路过的好心人帮忙解释一下这个代码为什么对,或者为什么错吗?
如果能hack掉那当然是坠吼的
upd1:相同方式修改cut函数后去交动态图连通性仍然是三种都能过
upd2:已解决,感谢各位神犇