在路径修改这一段
void upd_range(int u,int v)
{
while(top[u]^top[v])
{
if(dep[top[u]]<dep[top[v]]) swap(u,v);
modify(1,1,n,id[top[u]],id[u],1);
u=fa[top[u]];
}
if(dep[u]>dep[v]) swap(u,v);
modify(1,1,n,id[u]+1,id[v],1);
}
出现了不明 RE,而将 modify(1,1,n,id[u]+1,id[v],1); 这一句去掉就可以正常运行。
请问是哪里出错或者是写假了?完整代码放二楼