G - Road Trip
Editorial
/
Time Limit: 3 sec / Memory Limit: 1024 MB
配点: 1000 点
問題文
N 頂点の無向木があり、頂点には 1 から N の、辺には 1 から N-1 の番号がついています。辺 i は 頂点 A_i と 頂点 B_i を結んでおり、C_i の重みを持ちます。重みの値は負である可能性もあることに注意してください。
この木の連結な部分グラフを「運転部分木」と呼び、特に頂点 u と頂点 v を含むものを「u-v 運転部分木」とします。ある運転部分木が持つ辺の重みの合計を、その運転部分木の「楽しさ」とします。
Q 個の整数組 (U_i, V_i) が与えられるので、各 i に対して次の質問に答えてください。
- U_i-V_i 運転部分木の楽しさとしてあり得る最大値は何か。
制約
- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i < B_i \leq N\ (1 \leq i \leq N - 1)
- 与えられるグラフは木を成す
- -10^9 \leq C_i \leq 10^9\ (1 \leq i \leq N - 1)
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq U_i < V_i \leq N\ (1 \leq i \leq Q)
- 入力はすべて整数である
入力
入力は以下の形式で標準入力から与えられます。
N A_1 B_1 C_1 : A_{N-1} B_{N-1} C_{N-1} Q U_1 V_1 : U_Q V_Q
出力
Q 行出力してください。i 行目には、U_i-V_i 運転部分木の楽しさとしてあり得る最大値を出力してください。
入力例 1
7 1 3 -10 2 3 20 3 4 -1 1 6 1 5 6 3 6 7 2 3 3 4 5 7 2 6
出力例 1
19 16 16
- 1 つ目の質問に対しては、頂点 2, 3, 4 からなる部分グラフを運転部分木として選ぶと楽しさは 20+(-1) となり、これが 2-3 運転部分木の楽しさのうち最大です。
- 2 つ目と 3 つ目の質問に対しては、頂点 1, 2, 3, 5, 6, 7 からなる部分グラフを運転部分木として選ぶと楽しさは (-10)+20+1+3+2 となり、どちらの質問でもこれが最大です。
入力例 2
7 1 3 -1100000 2 3 -1010000 3 4 -1001000 1 6 -1000100 5 6 -1000010 6 7 -1000001 3 3 4 5 7 2 6
出力例 2
-1001000 -2000011 -3110100
入力例 3
18 2 8 -133775141 3 16 -311103251 4 11 849496136 9 14 -442278959 8 13 946094213 8 14 714669159 5 8 210787603 5 11 8973730 10 15 581490293 10 16 -347827761 10 11 -126622449 7 11 431568122 6 7 -458490133 6 17 -314331217 1 6 -220056853 1 12 -981864951 12 18 183014767 20 1 15 7 10 6 12 1 18 3 16 4 8 9 12 2 14 1 11 3 8 14 17 4 17 12 18 3 17 1 10 5 9 9 15 4 13 5 11 4 7
出力例 3
2937909821 3616456807 2139059637 2139059637 2957525795 3616456807 1696780678 3482681666 2937909821 2957525795 2843635457 2843635457 2139059637 2184704445 2937909821 3174177848 3174177848 3616456807 3616456807 3616456807