Llx2022 @ 2023-09-05 10:04:40
int LCA(int u,int v){
while(top[u]!=top[v]){
if(dep[top[u]]<dep[top[v]]) swap(u,v);
u=father[top[u]];
}
if(dep[u]>dep[v]) swap(u,v);
return u;
}
树剖千万别写挂了,这么写是对的。
int LCA(int u,int v){
while(top[u]!=top[v]){
if(dep[u]<dep[v]) swap(u,v);
u=father[top[u]];
}
if(dep[u]>dep[v]) swap(u,v);
return u;
}
底下这么写就是错的