정기 모임 6

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

요약
주민들의 이동 가능 거리 안에 있으면서 주어진 번호 범위의 모든 주민이 모일 수 있는 정점의 개수를 구한다.
난이도

어려움10점 중 9점

유형
트리, 분할 정복, 세그먼트 트리, 수학
정답자
아직 제출이 없습니다

문제

경곽마을은 트리 구조를 가지고 있다. 이 마을은 매우 거대하여 트리의 정점이 무려 10910^9개까지 존재할 수 있다. 자세한 입력 방법은 후술한다.

경곽마을에는 MM명의 주민들이 살고 있으며, 각 주민은 11부터 MM까지의 번호를 중복되지 않게 부여받는다. 주민들은 총 QQ개의 정기 모임을 개최하려고 한다.

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

각 정기 모임에는 l_il\_i번 주민부터 r_ir\_i번 주민까지가 참여하려고 한다. 각 정기 모임에 대해, 모든 참여 대상 주민들이 모일 수 있는 정점의 개수를 구해 보자.

입력

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

두 번째 줄부터 N−1N-1개의 줄에 걸쳐 트리의 구조를 나타내는 정보가 주어진다. 그중 ii번째 줄에는 세 정수 u_iu\_i, v_iv\_i, c_ic\_i가 공백으로 구분되어 주어진다. 이는 정점 u_iu\_i와 v_iv\_i를 잇는 경로가 있으며, 그 위에 새로운 정점이 c_ic\_i개 추가됨을 의미한다.

새로운 정점은 다음과 같은 규칙으로 생성된다. ii번째 입력에서 생성되는 c_ic\_i개의 정점은 u_iu\_i에서 v_iv\_i 방향으로 순서대로 연결되며, 이 정점의 번호는 N+∑_j=1i−1c_j+1N + \sum\_{j=1}^{i-1} c\_j + 1부터 N+∑_j=1ic_jN + \sum\_{j=1}^{i} c\_j까지 순차적으로 부여된다.

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

그다음 줄부터 MM개의 줄에 걸쳐 각 주민의 정보가 주어진다. 그중 ii번째 줄에는 두 정수 x_ix\_i와 d_id\_i가 공백으로 구분되어 주어지며, 이는 ii번 주민이 정점 x_ix\_i에 살고 있고, 최대 d_id\_i만큼의 거리를 이동할 수 있음을 의미한다.

그다음 줄부터 QQ개의 줄에 걸쳐 각 정기 모임의 정보가 주어진다. 그중 ii번째 줄에는 두 정수 l_il\_i와 r_ir\_i가 공백으로 구분되어 주어지며, 이는 l_il\_i번 주민부터 r_ir\_i번 주민까지가 해당 모임에 참여함을 의미한다.

출력

QQ개의 줄에 걸쳐서 주어진 문제의 답을 출력하여라. 그중 ii번째 줄에는 ii번째 정기 모임에 대해 모든 참여 대상 주민들이 도달할 수 있는 정점의 개수를 출력하여라.

제한

  • 1≤N,M,Q≤100,0001 \leq N, M, Q \leq 100\\,000
  • 1≤u_i,v_i≤N1 \leq u\_i, v\_i \leq N (1≤i≤N−11\leq i\leq N-1)
  • u_i≠v_iu\_i \neq v\_i (1≤i≤N−11\leq i\leq N-1)
  • c_i≥0c\_i\geq 0 (1≤i≤N−11\leq i\leq N-1)
  • N+∑_i=1N−1c_i≤109N + \sum\_{i=1}^{N-1} c\_i \leq 10^9
  • 1≤x_i≤N+∑_j=1N−1c_j1 \leq x\_i \leq N + \sum\_{j=1}^{N-1} c\_j (1≤i≤M1\leq i\leq M)
  • 1≤d_i≤1091 \leq d\_i \leq 10^9 (1≤i≤M1\leq i\leq M)
  • 1≤l_i≤r_i≤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