2.方阵问题
题目描述
给定一个n×m的方阵,共n行,每行m个值。
给定q个操作,每次对一个子矩阵进行求和或求最大值/最小值。
输入格式
第一行包含两个正整数n,m。
接下来n行,每行m个非负整数,这其中的第i行第j个数ai,j,表示第i行第j个值。
接下来一行包含一个整数q,表示询问次数。
接下来q行,每行先一个字符串s,接下来4个整数x1,y1,x2,y2。
设以第x1行第y1列为左上角,第x2行y2列为右下角的方阵为P(位置从0开始计数)。
- 若字符串为SUM,请求出P中所有的权值之和。
- 若字符串为MAX,请求出P中所有的权值的最大值。
- 若字符串为MIN,请求出P中所有的权值的最小值。
输出格式
输出总共q行,第i行的数为第i组的询问答案。
数据范围与提示
- 对于40%的数据,n,m≤200,q≤200;
- 对于60%的数据,n,m≤300,q≤100000;
- 对于80%的数据,n,m≤500,q≤500000;
- 对于100%的数据,n,m≤800,q≤500000,0≤Ai,j≤3000,0≤x1≤x2<n,0≤y1≤y2<m,且每个询问的方阵的较长边不超过较短边的两倍。
样例
3 3
1 2 3
4 5 6
7 8 9
3
SUM 0 0 1 1
MAX 0 0 2 2
MIN 0 1 1 1
12
9
2