有一个n*m的矩阵,对于每次询问,要求求出指定环形区域(大矩形扣去小矩形)的所有数字的和,并输出
HDOJ上的一道题,我用了按行加和大减小两种方法都是TLE,求更简便的算法。
Input
输入的第一行为一个整数T,表示共有T组数据。
对于每一组数据,第一行输入两个整数n,m,表示矩阵的大小
接下来n行每行输入m个整数a,表示整个矩阵。
下面一行输入一个整数q,表示询问的组数
接下来q行,每行输入8个整数x1,y1,x2,y2,x3,y3,x4,y4。x1,y1和x4,y4是环形外圈矩形左上角和右下角的顶点坐标,x2,y2和x3,y3
是环形内圈小矩形的左上角和右下角的顶点坐标,详细情况参考样例。
1<=x1<=x2<x3<=x4<=n,1<=y1<=y2<y3<=y4<=m,1<n,m,q<=1000,0<=a<=10^9
Output
对于每组样例的每个询问输出指定的环形区域的数字的和,每个和占一行