만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

정기 모임 6

시간 제한5초메모리 제한1024 MB

요약
정점이 최대 10^9개인 트리에서 l번부터 r번까지 거주자 각자의 집 x_i에서 d_i 이하 거리에 있는 정점의 개수를 구합니다.
난이도

어려움10점 중 9점

유형
트리, 세그먼트 트리, 이분 탐색
정답자
아직 제출이 없습니다

문제

경곽마을은 트리 구조이다. 이 마을은 매우 거대하여 트리의 정점이 10910^9개까지 존재할 수 있다. 자세한 입력 방법은 아래에서 설명한다.

경곽마을에는 MM명의 주민이 살고 있으며, 각 주민은 1부터 MM까지 서로 다른 번호를 받는다. 주민들은 정기 모임을 QQ번 열려고 한다.

ii번 주민은 정점 xix_i에 집이 있으며, 그곳에 살고 있다. 한 정점에 여러 주민이 함께 살 수 있다. 주민들은 먼 거리를 이동하는 것을 선호하지 않아서, 각자 자신의 집에서 최대 did_i만큼 이동할 수 있다. 두 정점 사이의 거리는 한 정점에서 다른 정점으로 이동할 때 거쳐야 하는 최소 간선의 수로 정의한다.

각 정기 모임에는 lil_i번 주민부터 rir_i번 주민까지 참여한다. 각 모임마다 참여하는 모든 주민이 모일 수 있는 정점의 개수를 구한다.

입력

첫 번째 줄에 세 정수 NN, MM, QQ가 공백으로 구분되어 주어진다. NN은 초기 정점의 수, MM은 주민의 수, QQ는 정기 모임의 횟수이다.

두 번째 줄부터 N−1N-1개의 줄에 트리의 구조가 주어진다. ii번째 줄에는 세 정수 uiu_i, viv_i, cic_i가 공백으로 구분되어 주어지며, 이는 정점 uiu_i와 viv_i를 잇는 경로 위에 새로운 정점이 cic_i개 추가됨을 뜻한다.

새로운 정점은 다음 규칙으로 생성된다. ii번째 입력에서 생성되는 cic_i개의 정점은 uiu_i에서 viv_i 방향으로 순서대로 연결되며, 번호는 N+∑j=1i−1cj+1N + \sum_{j=1}^{i-1} c_j + 1부터 N+∑j=1icjN + \sum_{j=1}^{i} c_j까지 차례로 부여된다.

주어지는 간선 정보는 반드시 하나의 트리를 이루도록 보장된다.

그다음 MM개의 줄에 각 주민의 정보가 주어진다. ii번째 줄에는 두 정수 xix_i와 did_i가 공백으로 구분되어 주어지며, 이는 ii번 주민이 정점 xix_i에 살고 있고 최대 did_i만큼 이동할 수 있음을 뜻한다.

그다음 QQ개의 줄에 각 정기 모임의 정보가 주어진다. ii번째 줄에는 두 정수 lil_i와 rir_i가 공백으로 구분되어 주어지며, lil_i번 주민부터 rir_i번 주민까지 해당 모임에 참여함을 뜻한다.

출력

QQ개의 줄에 걸쳐 답을 출력한다. ii번째 줄에는 ii번째 정기 모임에 참여하는 모든 주민이 도달할 수 있는 정점의 개수를 출력한다.

제한

  • 1≤N,M,Q≤100 0001 \leq N, M, Q \leq 100\,000
  • 1≤ui,vi≤N1 \leq u_i, v_i \leq N (1≤i≤N−11 \leq i \leq N-1)
  • ui≠viu_i \neq v_i (1≤i≤N−11 \leq i \leq N-1)
  • ci≥0c_i \geq 0 (1≤i≤N−11 \leq i \leq N-1)
  • N+∑i=1N−1ci≤109N + \sum_{i=1}^{N-1} c_i \leq 10^9
  • 1≤xi≤N+∑j=1N−1cj1 \leq x_i \leq N + \sum_{j=1}^{N-1} c_j (1≤i≤M1 \leq i \leq M)
  • 1≤di≤1091 \leq d_i \leq 10^9 (1≤i≤M1 \leq i \leq M)
  • 1≤li≤ri≤M1 \leq l_i \leq r_i \leq M (1≤i≤Q1 \leq i \leq Q)

예제1

  1. 예제 1

    입력
    5 7 5
    2 3 0
    2 1 0
    3 5 2
    3 4 2
    1 4
    2 5
    2 4
    7 5
    1 3
    1 5
    6 4
    6 6
    2 7
    3 3
    1 1
    3 7
    
    예상 출력
    9
    5
    9
    7
    5