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

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

선심성 고속도로망

시간 제한30초메모리 제한256 MB

요약
각 질의 구간 [l, h]에 포함된 도로만으로 연결 가능한 도시 쌍을 최대로 연결하는 가장 저렴한 네트워크 비용을 구합니다.
난이도

어려움10점 중 9점

유형
최소 신장 트리, 분할 정복, 유니온 파인드, 정렬
정답자
아직 제출이 없습니다

문제

선거에서 이기는 일은 생각보다 쉬웠다. 예산을 무너뜨리지 않으면서 전국을 잇는 고속도로망을 제대로 깔겠다고 약속하는 것으로 충분했다. 행복은 오래가지 않았다. 시민들이 그 약속의 이행을 따지기 시작했다.

나라에는 대도시가 nn개 있다. 교통부는 건설할 수 있는 고속도로 노선 mm개와 각 노선의 건설 비용을 정리한 지도를 만들었다. 품질관리위원회는 비용이 ll보다 싼 고속도로를 허가하지 않고, 예산규제위원회는 비용이 hh보다 비싼 고속도로를 허가하지 않는다. 전국망이라고 내세우려면 두 제약 안에서 직접 또는 간접으로 연결되는 도시 쌍의 수를 최대로 만들어야 한다. 그런 도로망 가운데 비용이 가장 적은 것을 찾아야 하고, 빠르게 찾아야 한다. 두 제약을 지키면서 연결되는 도시 쌍의 수가 최대인 고속도로망 가운데 가장 저렴한 것의 비용을 구하라.

상황은 더 나쁘다. 두 위원회는 경쟁자의 영향을 받고 있어서, 힘들게 준비한 계획을 발표할 때마다 판정 ll과 hh를 바꿔 버린다. 그래서 매번 처음부터 다시 계산해야 한다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 각 테스트 케이스가 다음 형식으로 주어진다.

각 테스트 케이스의 첫 줄에 도시의 수 nn과 건설 가능한 노선의 수 mm이 주어진다. (1≤n≤1 0001 \le n \le 1\,000, 0≤m≤100 0000 \le m \le 100\,000)

다음 mm개의 줄에는 각각 세 정수 xx, yy, ww가 주어진다. (1≤x,y≤n1 \le x, y \le n, x≠yx \ne y, 1≤w≤1 000 0001 \le w \le 1\,000\,000) 도시 xx와 도시 yy를 비용 ww로 잇는 양방향 고속도로를 건설할 수 있다는 뜻이다. 같은 도시 쌍을 잇는 노선이 여러 개 있을 수도 있다.

그다음 줄에 위원회 판정의 개수 qq가 주어진다. (1≤q≤1 000 0001 \le q \le 1\,000\,000) 이어지는 qq개의 줄에는 각각 두 정수가 주어진다. 첫 줄에는 첫 번째 판정 l1l_1, h1h_1이 그대로 주어진다. 나머지 판정은 부호화되어 있다. j>1j > 1인 jj번째 줄의 두 수는 lj+cj−1l_j + c_{j-1}과 hj+cj−1h_j + c_{j-1}이고, ljl_j와 hjh_j가 실제 판정, cj−1c_{j-1}은 직전 판정 lj−1l_{j-1}, hj−1h_{j-1}에 대한 정답이다.

모든 판정은 1≤lj≤hj≤1 000 0001 \le l_j \le h_j \le 1\,000\,000을 만족한다.

출력

각 테스트 케이스마다 판정 하나에 한 줄씩, 모두 qq개의 줄을 출력한다. jj번째 줄에는 위원회의 제약을 지키면서 연결되는 도시 쌍의 수를 최대로 만드는 고속도로망의 최소 건설 비용 cjc_j를 출력한다.

힌트

첫 번째 예제에서 실제 판정은 (1,2)(1, 2), (1,4)(1, 4), (2,3)(2, 3), (3,5)(3, 5), (4,5)(4, 5)이다. 각 판정에 대해 가장 저렴한 고속도로망은 순서대로 {(1,2),(4,5)}\{(1, 2), (4, 5)\}, {(2,1),(1,5),(5,4),(4,3)}\{(2, 1), (1, 5), (5, 4), (4, 3)\}, {(1,2),(1,5),(3,4)}\{(1, 2), (1, 5), (3, 4)\}, {(1,5),(5,2),(2,3),(3,4)}\{(1, 5), (5, 2), (2, 3), (3, 4)\}, {(3,2),(2,5),(1,4)}\{(3, 2), (2, 5), (1, 4)\}이다.

예제3

  1. 예제 1

    입력
    1
    5 7
    1 2 2
    2 3 4
    3 4 3
    4 5 1
    5 1 3
    2 5 4
    1 4 5
    5
    1 2
    4 7
    11 12
    11 13
    18 19
    
    예상 출력
    3
    9
    8
    14
    13
    
  2. 예제 2

    입력
    1
    1 0
    3
    1 1
    5 9
    1 1000000
    
    예상 출력
    0
    0
    0
    
  3. 예제 3

    입력
    1
    2 3
    1 2 7
    2 1 3
    1 2 10
    5
    3 7
    11 13
    14 16
    1 1000000
    10 10
    
    예상 출력
    3
    10
    0
    3
    7