atcoder#ABC298H. [ABC298Ex] Sum of Min of Length

[ABC298Ex] Sum of Min of Length

配点 : 600600

問題文

NN 頂点の木が与えられます。頂点には 11 から NN までの番号がついており、ii 番目の辺は頂点 AiA_i と頂点 BiB_i を結んでいます。

また、この木における頂点 xx と頂点 yy の距離を d(x,y)d(x,y) で表します。ただし、頂点 xx と頂点 yy の距離とは、頂点 xx から頂点 yy までの最短パス上の辺の本数のことをいいます。

QQ 個のクエリが与えられるので、順番に答えてください。ii 番目のクエリは以下で説明されます。

  • 整数 Li,RiL_i, R_i が与えられます。 $\displaystyle\sum_{j = 1}^{N} \min(d(j, L_i), d(j, R_i))$ の値を求めてください。

制約

  • 1N,Q2×1051 \leq N, Q \leq 2 \times 10^5
  • 1Ai,Bi,Li,RiN1 \leq A_i, B_i, L_i, R_i \leq N
  • 与えられるグラフは木
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN

A1A_1 B1B_1

\vdots

AN1A_{N-1} BN1B_{N-1}

QQ

L1L_1 R1R_1

\vdots

LQL_Q RQR_Q

出力

QQ 行出力せよ。ii 行目には ii 番目のクエリに対する答えを出力せよ。

5
3 4
4 5
2 5
1 5
3
4 1
1 2
5 3
4
6
3

11 番目のクエリについて説明します。 d(1,4)=2d(1, 4) = 2d(1,1)=0d(1, 1) = 0 より min(d(1,4),d(1,1))=0\min(d(1, 4), d(1, 1)) = 0 です。 d(2,4)=2d(2, 4) = 2d(2,1)=2d(2, 1) = 2 より min(d(2,4),d(2,1))=2\min(d(2, 4), d(2, 1)) = 2 です。 d(3,4)=1d(3, 4) = 1d(3,1)=3d(3, 1) = 3 より min(d(3,4),d(3,1))=1\min(d(3, 4), d(3, 1)) = 1 です。 d(4,4)=0d(4, 4) = 0d(4,1)=2d(4, 1) = 2 より min(d(4,4),d(4,1))=0\min(d(4, 4), d(4, 1)) = 0 です。 d(5,4)=1d(5, 4) = 1d(5,1)=1d(5, 1) = 1 より min(d(5,4),d(5,1))=1\min(d(5, 4), d(5, 1)) = 1 です。 0+2+1+0+1=40 + 2 + 1 + 0 + 1 = 4 であるため、44 を出力します。

8
4 2
4 1
5 6
6 1
7 6
8 1
3 7
7
8 4
4 4
7 2
4 4
5 3
4 4
6 1
14
16
10
16
14
16
8