만드는 중입니다

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

작업 처리

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

요약
기본 작업 N개가 주어지고, 각 질의마다 작업 R개가 추가됩니다. 추가 후 서로 겹치지 않는 작업의 최대 개수를 구합니다.
난이도

어려움10점 중 8점

유형
구간, 동적 계획법, 이분 탐색, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

NN개의 작업이 있다. 각 작업은 두 정수 s,ts, t (s<ts < t)로 표현하며, 이는 작업이 ss에 시작해서 tt에 끝난다는 뜻이다. 두 작업의 기간이 겹치면 두 작업을 모두 수행할 수 없다. 단, 한 작업의 종료 시각과 다른 작업의 시작 시각이 같으면 기간이 겹치지 않는 것으로 본다.

공장에서는 가능한 한 많은 작업을 처리하려고 한다. 한 시점에 작업을 하나만 처리할 수 있으므로 처리할 수 있는 작업의 수에는 한계가 있다. 공장을 확장하는 대신 새 작업을 추가해서 이 문제를 해결하려고 한다.

QQ개의 질의가 주어진다. ii번째 질의에는 RiR_i개의 작업이 추가로 주어진다. 각 질의마다 기존 NN개의 작업과 새로 추가된 RiR_i개의 작업 중에서 처리할 수 있는 작업의 최대 개수를 구하여라.

예를 들어, N=4N=4, Q=2Q=2이고 기본 작업이 {(1,5),(5,10),(14,16),(2,9)}\{(1, 5), (5, 10), (14, 16), (2, 9)\}이다. 두 질의는 각각 {(3,7),(11,14)}\{(3, 7), (11, 14)\}, {(4,8),(13,15)}\{(4, 8), (13, 15)\}이다. 첫 번째 질의에서는 {(1,5),(5,10),(11,14),(14,16)}\{(1, 5), (5, 10), (11, 14), (14, 16)\}의 4개 작업을 수행하는 것이 최적이다. 두 번째 질의에서는 {(1,5),(5,10),(14,16)}\{(1, 5), (5, 10), (14, 16)\}의 3개 작업을 수행하는 것이 최적이다.

입력

첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 TT가 주어진다 (1≤T≤201 \le T \le 20). 이후 TT개의 테스트 케이스가 차례로 주어진다.

각 테스트 케이스의 첫 줄에는 작업의 수 NN이 주어진다 (1≤N≤120 0001 \le N \le 120\,000). 이후 NN개의 줄에 작업의 시작 시간과 종료 시간 s,ts, t가 주어진다 (0≤s<t≤1090 \le s < t \le 10^9).

다음 줄에는 질의의 수 QQ가 주어진다 (1≤Q≤60 0001 \le Q \le 60\,000). 각 질의의 첫 줄에는 새 작업의 개수 RiR_i가 주어진다 (1≤Ri≤120 0001 \le R_i \le 120\,000, 1≤∑Ri≤120 0001 \le \sum R_i \le 120\,000). 이후 RiR_i개의 줄에 새 작업의 시작 시간과 종료 시간 s,ts, t가 주어진다 (0≤s<t≤1090 \le s < t \le 10^9).

모든 테스트 케이스에 대한 NN의 합은 1 300 0001\,300\,000 이하이다. 모든 테스트 케이스에 대한 ∑Ri\sum R_i의 합은 1 100 0001\,100\,000 이하이다.

출력

각 테스트 케이스마다 첫 줄에 Case #CC를 출력한다. 이때 CC는 테스트 케이스의 번호이다. 이후 QQ개의 줄에 걸쳐 각 질의의 답을 출력한다.

예제1

  1. 예제 1

    입력
    1
    4
    1 5
    5 10
    14 16
    2 9
    2
    2
    3 7
    11 14
    2
    4 8
    13 15
    
    예상 출력
    Case #1
    4
    3