閉路がなく任意の都市へ行き来できることからうしたぷにきあ王国は木として処理することができます。 都市ZZZから各都市への最短距離を求めた後、二人旅の最大値を求めるためにZZZを根とした最近共通祖先(LCA)を調べます。 クエリ(Ai,Bi)(A_i,B_i)(Ai,Bi)のLCAが都市CiC_iCiだったときZZZからCiC_iCiへの最短距離が答えになります。 したがって、計算量は O((v+e)logv+qlogq)O((v+e)\log v + q \log q)O((v+e)logv+qlogq) です。