如果你线段树只用了一个标记,树剖过程中请注意标记是否统一,如下所示
inline void change(int u,int v,int val){
while(top[u]!=top[v]){
if(dep[top[u]]<dep[top[v]]) swap(u,v),val*=-1;
change(1,id[top[u]],id[u],val);
u=fa[top[u]];if(u==v)return;
}
if(dep[u]<dep[v]) swap(u,v),val*=-1;
change(1,id[son[v]],id[u],val);
}