7569: Count

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:0

题目描述

一个n*m的方格,初始时每个格子有一个整数权值。接下来每次有2种操作:

改变一个格子的权值;

求一个子矩阵中某种特定权值出现的个数。

输入

第一行有两个数N,M。

接下来N行,每行M个数,第i+1行第j个数表示格子(i,j)的初始权值。

接下来输入一个整数Q。

之后Q行,每行描述一个操作。

 

操作1:“1 x y c”(不含双引号)。表示将格子(x,y)的权值改成c(1≤x≤n,1≤y≤m,1≤c≤100)。

 

操作2:“2 x1 x2 y1 y2 c”(不含双引号,x1≤x2,y1≤y2)。表示询问所有满足格子颜色为c,且x1≤x≤x2,y1≤y≤y2的格子(x,y的个数。

输出

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

样例输入 复制

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

样例输出 复制

1
2

提示

 30%的数据,满足:n,m≤30,Q≤50000

 

100%的数据,满足:n,m≤300,Q≤200000

来源/分类