만드는 중입니다

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

붕괴

시간 제한6초메모리 제한512 MB

요약
W일 말에 P와 P+1 사이가 끊기면, 0번부터 P번까지와 P+1번부터 N-1번까지 마을을 각각 같은 쪽 케이블로 묶었을 때 생기는 덩어리 수의 합을 구합니다.
난이도

보통10점 중 7점

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

문제

JOI 국에는 깊고 긴 계곡을 따라 NN개의 마을이 일렬로 놓여 있다. 마을은 바다와 가까운 순서대로 0,1,…,N−10, 1, \ldots, N-1번의 번호가 붙어 있다. 조합위원회 위원장 I씨는 마을 사이의 양방향 통신 케이블을 관리한다. 처음에는 케이블이 하나도 없다.

I씨에게는 CC일 동안의 케이블 공사 계획이 있다. i+1i+1번째 날(0≤i≤C−10 \le i \le C-1)의 계획은 세 정수 TiT_i, XiX_i, YiY_i로 주어지며, 다음을 뜻한다.

  • Ti=0T_i = 0이면 마을 XiX_i와 마을 YiY_i를 잇는 케이블을 설치한다. 그 날 시작할 때 두 마을을 잇는 케이블은 없다.
  • Ti=1T_i = 1이면 마을 XiX_i와 마을 YiY_i를 잇는 케이블을 제거한다. 그 날 시작할 때 두 마을을 잇는 케이블이 있다.

JOI 국에서는 절벽 붕괴가 자주 일어난다. 마을 xx와 마을 x+1x+1 사이(0≤x≤N−20 \le x \le N-2)에서 붕괴가 일어나면, 번호가 xx 이하인 마을과 x+1x+1 이상인 마을을 잇는 케이블은 모두 사용할 수 없게 된다. 붕괴가 일어나면 일부 마을을 골라 기지국을 설치한다. 기지국은 모든 마을이 사용 가능한 케이블을 따라 기지국에 도달할 수 있도록 설치해야 한다.

I씨에게는 QQ개의 질문이 있다. j+1j+1번째 질문은 두 정수 WjW_j, PjP_j로 주어진다. 이는 Wj+1W_j+1일째 날이 끝난 뒤 마을 PjP_j와 마을 Pj+1P_j+1 사이에서 붕괴가 일어날 때 필요한 기지국의 최소 개수를 묻는다.

입력

첫째 줄에 NN, CC, QQ가 주어진다. 이어지는 CC개의 줄에는 TiT_i, XiX_i, YiY_i가 주어진다. 이어지는 QQ개의 줄에는 WjW_j와 PjP_j가 주어진다.

출력

QQ개의 줄을 출력한다. j+1j+1번째 줄에는 j+1j+1번째 질문의 답을 출력한다.

힌트

마을이 5개인 경우를 생각하자. 아래에서 (x,y)(x, y)는 마을 xx와 마을 yy를 잇는 케이블을 뜻한다.

  • 마을 1과 마을 2 사이에서 붕괴가 일어날 때 케이블이 (0,1)(0, 1), (1,3)(1, 3), (2,4)(2, 4), (4,0)(4, 0)의 4개 있다고 하자. (1,3)(1, 3)과 (4,0)(4, 0)은 사용할 수 없게 되고 (0,1)(0, 1)과 (2,4)(2, 4)만 남는다. 마을 0, 2, 3에 기지국을 설치하면 되므로 최소 개수는 3이다.
  • 마을 3과 마을 4 사이에서 붕괴가 일어날 때 케이블이 (0,1)(0, 1), (0,3)(0, 3), (1,2)(1, 2), (2,4)(2, 4), (4,0)(4, 0), (4,3)(4, 3)의 6개 있다고 하자. (2,4)(2, 4), (4,0)(4, 0), (4,3)(4, 3)은 사용할 수 없게 되고 (0,1)(0, 1), (0,3)(0, 3), (1,2)(1, 2)만 남는다. 마을 0과 마을 4에 기지국을 설치하면 되므로 최소 개수는 2이다.

예제1

  1. 예제 1

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