3700: 發展城市

這題須要大量的lca,預處理是能夠,可是會寫死,所以採用rmq。 先學會如何求兩個路徑[a,b],[c,d]的交。 只要分別求c,d到[a,b]距離最近的點[u,v],而後判u,v是否在[c,d]上便可。下面以用c求u爲例。 r<-lca(a,b) if lca(r,c)!=r then u<-r else if lca(a,c)!=r then u<-lca(a,c) else u<-lca(b
相關文章
相關標籤/搜索