택배 운송

시간 제한3초메모리 제한2048 MB

요약
가중치 트리 위에서 로봇을 추가하거나 제거할 때마다, 주어진 전파 범위를 가진 로봇들이 협력해 1번에서 N번 물류센터까지 택배를 운송할 수 있는지 판정한다.
난이도

어려움10점 중 9점

유형
트리, 유니온 파인드, 분할 정복, 그래프
정답자
아직 제출이 없습니다

문제

2050년, 택배 최적화 연구소(KOI, Kurier Optimization Institute)는 전국 규모의 로봇 기반 택배 운송망을 구축하였다.

전국에는 11부터 NN까지의 번호가 붙은 NN개의 물류센터가 N−1N − 1개의 도로로 연결되어 있다. 각 도로에는 11부터 N−1N − 1까지의 번호가 붙어 있으며, 이 중 ii (1≤i≤N−11 ≤ i ≤ N − 1)번 도로는 U_iU\_i번 물류센터와 V_iV\_i번 물류센터를 두 끝점으로 하고, 길이가 W_iW\_i인 선분이다. 한 물류센터에서 다른 어떤 물류센터로도 하나 이상의 도로를 거쳐 도달할 수 있다. 즉, 택배 운송망은 물류센터가 도로를 통해 연결된 트리 구조이다. 또한, 서로 다른 두 도로는 양 끝점을 제외한 어떤 점에서도 만나지 않는다.

각 물류센터 및 각 도로 위의 임의의 점을 모두 하나의 지점이라고 하자. 물류센터와 도로의 구조가 트리이므로, 서로 다른 두 지점 사이에는 반드시 유일한 단순 경로가 존재한다. 두 지점 xx, yy 사이의 거리 d(x,y)d(x, y)를 "지점 xx에서 지점 yy로 가는 단순 경로를 따라 이동할 때 거쳐야 하는 도로의 총 길이"로 정의하자. 단, x=yx = y이면 d(x,y)=0d(x, y) = 0이다.

일부 물류센터에는 전파 범위가 주어진 로봇이 배치된다. 전파 범위가 XX인 로봇의 초기 위치가 지점 pp라면, 이 로봇은 조건 d(p,z)≤Xd(p, z) ≤ X를 충족하는 모든 지점 zz 사이를 자유롭게 왕복하며 이동할 수 있고, 자신이 이동 가능한 범위 내의 임의의 지점에서 택배를 들어올리거나 내려놓을 수 있다.

당신은 연구소의 책임자로서, 처음에 11번 물류센터에 있는 택배를 NN번 물류센터까지 운송할 수 있을지 판단하려고 한다. 로봇들은 서로 협력하여 택배를 운송할 수 있다. 즉, 한 로봇이 어느 지점에 택배를 내려놓으면 다른 로봇이 바로 그 지점에서 다시 택배를 들어올려 운송을 계속할 수 있다.

당신은 총 QQ개의 시나리오에 대해, 로봇이 서로 협력하여 11번 물류센터에 있는 택배를 NN번 물류센터까지 운송할 수 있을지 판단하여야 한다. jj (1≤j≤Q1 ≤ j ≤ Q)번째 시나리오의 형식은 다음과 같다.

  • 11 A_jA\_j B_jB\_j: jj번째 시나리오는 j−1j − 1번째 시나리오의 상황에서, 초기 위치가 A_jA\_j번 물류센터이고 전파 범위가 B_jB\_j인 로봇 하나가 추가된 상황이다.
  • 22 C_jC\_j: jj번째 시나리오는 j−1j − 1번째 시나리오의 상황에서, C_jC\_j번째 시나리오에서 새로 추가된 로봇을 제거한 상황이다. C_jC\_j번째 시나리오는 로봇을 새로 추가하는 시나리오임이 보장된다.

단, 00번째 시나리오는 초기에 아무 로봇도 배치되지 않은 상황으로 간주한다.

각 시나리오에 대하여, 로봇이 서로 협력하여 11번 물류센터에 있는 택배를 NN번 물류센터까지 운송할 수 있는지 판단하는 프로그램을 작성하라.

입력

첫째 줄에 두 정수 NN, QQ가 공백을 사이에 두고 주어진다.

다음 N−1N − 1개의 줄에는 도로의 정보가 주어진다. 이 중 ii (1≤i≤N−11 ≤ i ≤ N − 1)번째 줄에는 세 정수 U_iU\_i, V_iV\_i, W_iW\_i가 공백을 사이에 두고 주어진다.

다음 QQ개의 줄에는 시나리오의 정보가 주어진다. 이 중 jj (1≤j≤Q1 ≤ j ≤ Q)번째 줄에는 jj번째 시나리오에 대한 정보가 지문에 제시된 형식대로 주어진다.

출력

QQ개의 줄을 출력한다. jj (1≤j≤Q1 ≤ j ≤ Q)번째 줄에는 jj번째 시나리오에서 택배 운송이 가능하다면 YES를, 불가능하다면 NO를 출력한다.

제한

  • 주어지는 모든 수는 정수이다.

  • 2≤N≤200,0002 ≤ N ≤ 200\\, 000

  • 1≤Q≤200,0001 ≤ Q ≤ 200\\, 000

  • 1≤i≤N−11 ≤ i ≤ N − 1인 각 ii에 대하여, 1≤U_i,V_i≤N1 ≤ U\_i , V\_i ≤ N이고 1≤W_i≤1091 ≤ W\_i ≤ 10^9

  • 운송망은 연결되어 있다.

  • 1≤j≤Q1 ≤ j ≤ Q인 각 jj에 대하여:

    • jj번째 시나리오가 로봇을 새로 추가하는 시나리오라면, 1≤A_j≤N1 ≤ A\_j ≤ N이고 1≤B_j≤10151 ≤ B\_j ≤ 10^{15}이다.
    • jj번째 시나리오가 로봇을 제거하는 시나리오라면, 1≤C_j≤j−11 ≤ C\_j ≤ j − 1이고 C_jC\_j번째 시나리오는 로봇을 새로 추가하는 시나리오이다. 같은 로봇이 22회 이상 제거되지 않는다.

예제1

  1. 예제 1

    입력
    11 10
    1 3 3
    2 3 10
    3 4 5
    4 5 8
    9 6 4
    4 7 2
    7 8 2
    5 9 1
    9 10 2
    5 11 3
    1 1 4
    1 2 12
    1 6 6
    1 7 1
    1 8 8
    1 9 6
    1 10 9
    1 11 2
    2 7
    2 1
    
    예상 출력
    NO
    NO
    NO
    NO
    NO
    YES
    YES
    YES
    YES
    NO