P3397 地毯
二维差分的简单应用。作为学二维差分时的练手题很不错。
主要代码:
#include<bits/stdc++.h> using namespace std; const int N=1002; int a[N][N]; int main(){ ios::sync_with_stdio(false); int n,m; cin>>n>>m; for (int i=1;i<=m;i++){ int left1,left2,right1,right2; cin>>left1>>right1>>left2>>right2; a[left1][right1]++; a[left1][right2+1]--; a[left2+1][right2+1]++; a[left2+1][right1]--; } for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) a[i][j]+=a[i][j-1]+a[i-1][j]-a[i-1][j-1]; for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++) if (j==1) cout<<a[i][j]; else cout<<" "<<a[i][j]; cout<<"\n"; } return 0; }
合集:
前缀和、差分
分类:
刷题 / 前缀和、差分
, 刷题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架