#1262. 2.方阵问题

2.方阵问题

2.方阵问题

题目描述

给定一个n×mn \times m的方阵,共nn行,每行mm个值。

给定qq个操作,每次对一个子矩阵进行求和或求最大值/最小值。

输入格式

第一行包含两个正整数nnmm

接下来nn行,每行mm个非负整数,这其中的第ii行第jj个数ai,ja_{i,j},表示第ii行第jj个值。

接下来一行包含一个整数qq,表示询问次数。

接下来qq行,每行先一个字符串ss,接下来44个整数x1x_1y1y_1x2x_2y2y_2

设以第x1x_1行第y1y_1列为左上角,第x2x_2y2y_2列为右下角的方阵为PP(位置从00开始计数)。

  • 若字符串为SUMSUM,请求出PP中所有的权值之和。
  • 若字符串为MAXMAX,请求出PP中所有的权值的最大值。
  • 若字符串为MINMIN,请求出PP中所有的权值的最小值。

输出格式

输出总共qq行,第ii行的数为第ii组的询问答案。

数据范围与提示

  • 对于40%40\%的数据,n,m200n,m \leq 200q200q \leq 200
  • 对于60%60\%的数据,n,m300n,m \leq 300q100000q \leq 100000
  • 对于80%80\%的数据,n,m500n,m \leq 500q500000q \leq 500000
  • 对于100%100\%的数据,n,m800n,m \leq 800q500000q \leq 5000000Ai,j30000 \leq A_{i,j} \leq 30000x1x2<n0 \leq x_1 \leq x_2 < n0y1y2<m0 \leq y_1 \leq y_2 < 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