成都网站建设cdsqywlwordpress 不显示文章图片
成都网站建设cdsqywl,wordpress 不显示文章图片,移动app开发外包公司,工业设计厂家首先我们的目标是让 s[i][j]表示为其左方和上方形成的矩阵所有元素的和 加上s[i-1][j]和s[i][j-1]后 s[i-1][j-1]部分重复了所以减去
最后加上a[i][j]即可完成目标
s[i][j]s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j];
然后看题目要求
要求x1,y1,x2,y2围成的小正方形内的元素和…
首先我们的目标是让 s[i][j]表示为其左方和上方形成的矩阵所有元素的和 加上s[i-1][j]和s[i][j-1]后 s[i-1][j-1]部分重复了所以减去
最后加上a[i][j]即可完成目标
s[i][j]s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j];
然后看题目要求
要求x1,y1,x2,y2围成的小正方形内的元素和
我们利用刚刚处理好的s[i][j]来操作 将是s[x2][y2]圈成的大正方形里面扣掉这两块
即s[x2][y1-1]和s[x1-1][y2]
最后加回去重复减去的s[x1-1][y1-1]即可
所以式子为 s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]s[x1-1][y1-1] 代码 #includeiostream #includecstring #includecstdio #includealgorithm using namespace std; const int N1010; int a[N][N],s[N][N];
int n,m,q; int main(){ cinnmq; for(int i1;in;i) { for(int j1;jm;j) { cina[i][j]; s[i][j]s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j]; } } while(q--){ int x1,y1,x2,y2; cinx1y1x2y2; couts[x2][y2]-s[x2][y1-1]-s[x1-1][y2]s[x1-1][y1-1]; } return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92147.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!