아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

개미 군락

시간 제한2초메모리 제한128 MB

요약
새 정점이 이전 정점에 하나씩 붙는 가중 트리에서 두 정점 사이 최단 경로 길이를 여러 질의에 대해 구한다.
난이도

보통10점 중 6점

유형
트리, DFS, 누적 합, 그래프
정답자
아직 제출이 없습니다

문제

개미들은 자신들이 지은 크고 웅장한 군락을 무척 자랑스러워한다. 그런데 군락이 너무 커진 나머지, 많은 개미들이 군락의 여러 구역 사이를 어떻게 오가야 하는지 몰라 곤란을 겪고 있다. 개미들에게는 당신의 도움이 절실하다.

이 군락은 터널로 연결된 NN개의 개미집으로 이루어져 있다. 개미들은 꼼꼼한 성격이라 개미집을 지은 순서대로 번호를 매겼다. 가장 먼저 지은 00번 개미집은 터널이 필요 없었다. 그 뒤에 지은 11번부터 N−1N-1번까지의 각 개미집에 대해서는, 새 개미집을 이미 지어져 있던 개미집 중 하나와 잇는 터널을 정확히 하나씩 팠다. 이 터널 하나만으로도 어떤 개미든(필요하면 다른 개미집을 거쳐서) 그 전에 지은 모든 개미집으로 갈 수 있었기 때문에, 개미들은 더는 터널을 파지 않고 계속 개미집만 지어 나갔다.

군락의 구조와 여러 개의 질의가 주어진다. 각 질의마다 주어진 두 개미집 사이의 최단 경로의 길이를 구하라. 경로의 길이는 지나가는 모든 터널의 길이의 합이다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 여러 줄에 걸쳐 주어진다.

첫째 줄에는 군락의 개미집 개수를 나타내는 정수 NN이 주어진다 (2≤N≤1052 \le N \le 10^5).

이어지는 N−1N-1개의 줄은 각각 터널 하나를 나타낸다. 1≤i≤N−11 \le i \le N-1에 대해 ii번째 줄에는 두 정수 AiA_i와 LiL_i가 주어지며, 이는 ii번 개미집이 길이 LiL_i인 터널로 AiA_i번 개미집과 직접 연결되어 있음을 뜻한다 (0≤Ai≤i−10 \le A_i \le i-1, 1≤Li≤1091 \le L_i \le 10^9).

그다음 줄에는 질의의 개수를 나타내는 정수 QQ가 주어진다 (1≤Q≤1051 \le Q \le 10^5). 이어지는 QQ개의 줄에는 각각 서로 다른 두 정수 SS와 TT가 주어지며 (0≤S,T≤N−10 \le S, T \le N-1), 이는 한 질의의 출발 개미집과 도착 개미집을 나타낸다.

마지막 테스트 케이스 뒤에는 00 하나만 적힌 줄이 온다.

출력

각 테스트 케이스마다 QQ개의 정수를 한 줄에 출력한다. 각 정수는 해당 질의의 두 개미집 사이의 최단 경로의 길이이며, 질의가 입력에 주어진 순서와 같은 순서로 출력한다.

예제5

  1. 예제 1

    입력
    6
    0 8
    1 7
    1 9
    0 3
    4 2
    4
    2 3
    5 2
    1 4
    0 3
    2
    0 1
    2
    1 0
    0 1
    6
    0 1000000000
    1 1000000000
    2 1000000000
    3 1000000000
    4 1000000000
    1
    5 0
    0
    
    예상 출력
    16 20 11 17
    1 1
    5000000000
    
  2. 예제 2

    입력
    2
    0 1
    2
    1 0
    0 1
    0
    
    예상 출력
    1 1
    
  3. 예제 3

    입력
    5
    0 5
    0 10
    0 15
    0 20
    3
    1 2
    3 4
    1 4
    0
    
    예상 출력
    15 35 25
    
  4. 예제 4

    입력
    5
    0 1
    1 2
    2 3
    3 4
    3
    4 0
    4 1
    2 3
    0
    
    예상 출력
    10 9 3
    
  5. 예제 5

    입력
    5
    0 2
    1 3
    1 5
    3 7
    4
    4 2
    2 4
    0 4
    3 4
    0
    
    예상 출력
    15 15 14 7