有一个n*m的矩阵,对于每次询问,要求求出指定环形区域(大矩形扣去小矩形)的所有数字的和,并输出

yccy1230 2015-12-13 01:25:55
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
对于每组样例的每个询问输出指定的环形区域的数字的和,每个和占一行
...全文
442 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yccy1230 2016-01-02
  • 打赏
  • 举报
回复
引用 1 楼 dataxdata 的回复:
沿着一条螺旋线求和试试
螺旋线会比按行加快么~
dataxdata 2015-12-18
  • 打赏
  • 举报
回复
沿着一条螺旋线求和试试

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧