[模板]LCA:Tarjan
1 void tarjan(int k){ 2 bj[k]=1; 3 for(int i=fir[k];i;i=l[i]) 4 if(!bj[to[i]]) 5 dt[to[i]]=dt[k]+len[i],tarjan(to[i]),zx[to[i]]=k; 6 for(int i=qfir[k];i;i=ql[i]) 7 if(bj[qto[i]]==2) 8 ans[(i+1)/2]=min(ans[(i+1)/2],dt[k]+dt[qto[i]]-2*dt[get(qto[i])]); 9 bj[k]=2; 10 }
$Fate \ is \ Fake$