洛谷P3397 地毯(差分)
二维平面上的差分,我们可以对每行处理。
比如我们要把(2,2)(5,5)之间的矩形加上1,可以这样处理。
0 0 0 0 0 0 0 +1 0 0 0 -1 0 +1 0 0 0 -1 0 +1 0 0 0 -1 0 +1 0 0 0 -1 0 0 0 0 0 0
那么这道题就简单了。
1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,m,a[1001][1001],c[1001][1001]; 4 5 int main(){ 6 scanf("%d%d",&n,&m); 7 while(m--){ 8 int x1,x2,y1,y2; 9 scanf("%d%d%d%d",&x1,&y1,&x2,&y2); 10 for(int i=x1;i<=x2;i++){ 11 c[i][y1]+=1; 12 c[i][y2+1]-=1; 13 } 14 } 15 for(int i=1;i<=n;i++) 16 for(int j=1;j<=n;j++) 17 a[i][j]=a[i][j-1]+c[i][j]; 18 for(int i=1;i<=n;i++){ 19 for(int j=1;j<=n;j++){ 20 cout<<a[i][j]<<" "; 21 } 22 cout<<endl; 23 } 24 }
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】