Home => ProblemSet => 3.2-56:[JSOI2009] 计数问题
Problem2010--3.2-56:[JSOI2009] 计数问题

2010: 3.2-56:[JSOI2009] 计数问题

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 2
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

一个 n× m 的方格,初始时每个格子有一个整数权值。接下来每次有 2 种操作:
  • 改变一个格子的权值;
  • 求一个子矩阵中某种特定权值出现的个数。

Input

第一行有两个数 n,m。
接下来 n 行,每行 m 个数,第 i+1 行第 j 个数表示格子 (i,j) 的初始权值。
接下来输入一个整数 Q。
之后 Q 行,每行描述一个操作。
操作 1:输入一行四个整数 1 x y c,表示将格子 (x,y) 的权值改成 c。
操作 2:输入一行六个整数 2 x1 x2 y1 y2 c。表示询问所有满足格子颜色为 c,且满足 x1≤x≤x2,y1≤y≤y2 的格子个数。

Output

对于每个操作 2,按照在输入中出现的顺序,依次输出一行一个整数表示所求得的个数。

Sample Input Copy

3 3
1 2 3
3 2 1
2 1 3
3
2 1 2 1 2 1
1 2 3 2
2 2 3 2 3 2

Sample Output Copy

1
2

HINT

对于 30% 的数据,满足:n,m≤30,Q≤5×104
对于 100% 的数据,满足:1≤n,m≤300,1≤Q≤2×105
对于操作 1,保证:1≤x≤n,1≤y≤m,1≤c≤100;
对于操作 2,保证:1≤x1≤x2≤n,1≤y1≤y2≤m,1≤c≤100。

Source/Category