만드는 중입니다

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

나도 최고가 되고 싶다!

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

요약
격자의 각 칸에 있는 트레이너 레벨과 포켓몬 종류가 주어질 때, 시작 칸에서 레벨 L 이하인 칸만 거쳐 얻을 수 있는 서로 다른 포켓몬 종류 수를 구합니다. 칸의 포켓몬 종류를 바꾸는 갱신도 처리합니다.
난이도

어려움10점 중 9점

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

문제

애쉬 케첨이 최고의 트레이너가 된 것처럼, 미스터 판다도 그의 발자취를 따라 최고가 되려고 한다. 그는 도감을 채우기 위해 가능한 한 많은 종류의 포켓몬을 잡고 싶어 한다. 가는 길에는 다른 트레이너들이 있어서, 목표에 닿으려면 그들을 이겨야 한다.

미스터 판다와 포켓몬은 R×CR \times C 격자로 이루어진 세계에 산다. 미스터 판다는 인접한 칸으로만 이동할 수 있다. 왼쪽 위 칸은 (1,1)(1, 1)이고, 오른쪽 아래 칸은 (C,R)(C, R)이다.

각 칸에는 트레이너가 한 명씩 있다. 미스터 판다가 그 칸을 지나가려면 트레이너를 이겨야 하고, 이기면 그 트레이너의 포켓몬을 얻는다. 트레이너마다 레벨이 서로 다르며, 레벨이 높은 트레이너가 더 강하다. (j,i)(j, i) 칸의 트레이너는 레벨 LijL_{ij}이고, 타입 PijP_{ij}의 포켓몬으로 배틀한다.

트레이너는 이길 확률을 높이려고 사용하는 포켓몬의 타입을 가끔 바꾼다. 미스터 판다는 원정을 언제 시작하는 것이 좋을지 계획하고 싶어 한다. 특정 시점마다 그는 이렇게 묻는다. (Xq,Yq)(X_q, Y_q) 칸에서 출발해 레벨이 LqL_q 이하인 트레이너만 이길 수 있다면, 얻을 수 있는 포켓몬 타입은 몇 종류인가? 이기지 못하는 트레이너의 칸은 지나갈 수 없다. 같은 타입을 여러 트레이너에게서 얻어도 한 종류로 센다.

입력

첫 줄에 양의 정수 RR, CC, QQ가 주어진다. R×C≤50000R \times C \le 50000이 보장된다. 이어서 2R+Q2R + Q줄이 입력된다.

처음 RR줄에는 각 줄마다 CC개의 정수가 주어진다. ii번째 줄의 jj번째 정수는 LijL_{ij}이며, 1≤Lij≤1091 \le L_{ij} \le 10^9이다. 모든 값은 서로 다르다.

다음 RR줄에는 각 줄마다 CC개의 정수가 주어진다. ii번째 줄의 jj번째 정수는 PijP_{ij}이며, 1≤Pij≤500001 \le P_{ij} \le 50000이다.

마지막 QQ줄에는 각각 4개의 정수로 된 질의가 주어진다.

  • 첫 정수가 1이면 1번 질의이며, 이어지는 세 정수는 XqX_q, YqY_q, PqP_q이다. (Xq,Yq)(X_q, Y_q) 칸의 트레이너가 타입 PqP_q의 포켓몬을 사용하도록 바뀐다. 1≤Pq≤500001 \le P_q \le 50000이다.
  • 첫 정수가 2이면 2번 질의이며, 이어지는 세 정수는 XqX_q, YqY_q, LqL_q이다. 미스터 판다가 (Xq,Yq)(X_q, Y_q) 칸에서 출발해 레벨이 LqL_q 이하인 트레이너만 이길 수 있을 때, 얻을 수 있는 포켓몬 타입의 수를 구한다. 1≤Lq≤1091 \le L_q \le 10^9이다.

출력

2번 질의마다 미스터 판다가 얻을 수 있는 포켓몬 타입의 수를 한 줄에 하나씩 출력한다.

제한

  • 1≤R≤500001 \le R \le 50000
  • 1≤Q≤1000001 \le Q \le 100000

예제4

  1. 예제 1

    입력
    1 5 5
    1 2 3 4 5
    1 1 2 1 2
    2 2 1 2
    2 1 1 4
    2 4 1 3
    1 3 1 1
    2 3 1 4
    
    예상 출력
    1
    2
    0
    1
    
  2. 예제 2

    입력
    1 5 5
    1 2 3 4 5
    3 4 3 2 5
    2 3 1 3
    2 1 1 5
    2 4 1 2
    1 4 1 4
    2 3 1 5
    
    예상 출력
    2
    4
    0
    3
    
  3. 예제 3

    입력
    3 3 5
    1 4 3
    11 2 7
    5 10 6
    1 1 1
    2 1 2
    1 2 1
    2 2 1 6
    2 2 3 10
    2 3 2 3
    1 2 2 2
    2 2 1 4
    
    예상 출력
    1
    2
    0
    2
    
  4. 예제 4

    입력
    3 3 5
    1 4 3
    11 2 7
    5 10 6
    6 3 3
    4 6 4
    9 4 9
    2 2 1 6
    2 2 3 10
    2 3 2 3
    1 2 2 7
    2 2 1 4
    
    예상 출력
    2
    4
    0
    3