做推文的编辑网站,网站建设 漳州,ui培训班学费多少钱,海外公司注册在哪里比较好个人主页#xff1a;兜里有颗棉花糖 欢迎 点赞#x1f44d; 收藏✨ 留言✉ 加关注#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】 #x1f354;本专栏旨在提高自己算法能力的同时#xff0c;记录一下自己的学习过程#xff0c;希望对大家有所帮… 个人主页兜里有颗棉花糖 欢迎 点赞 收藏✨ 留言✉ 加关注本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】 本专栏旨在提高自己算法能力的同时记录一下自己的学习过程希望对大家有所帮助 希望我们一起努力、成长共同进步。 目录 一、AcWing 797. 差分解题代码 二、AcWing 798. 差分矩阵解题代码 一、AcWing 797. 差分
原题链接点击直接跳转到该题目
关键代码 b[l] c;b[r 1] - c;
解题代码
#includeiostream
#includecstdio
#includecstring
#includealgorithmusing namespace std;const int N 1e5 10;
int nums[N];
int b[N];void insert(int l,int r,int c)
{b[l] c;b[r 1] - c;
}
int main()
{int n,m;cin n m;for(int i 1;i n;i) cin nums[i];while(m--){int l,r,c;cin l r c;insert(l,r,c);}for(int i 2;i n;i) b[i] b[i] b[i - 1];for(int i 1;i n;i) nums[i] nums[i] b[i];for(int i 1;i n;i) printf(%d ,nums[i]);return 0;
}二、AcWing 798. 差分矩阵
原题链接点击直接跳转到该题目 代码关键 b[x1][y1] c; b[x2 1][y1] - c; b[x1][y2 1] - c; b[x2 1][y2 1] c;
解题代码
#includeiostream
#includecstdio
#includecstring
#includealgorithmusing namespace std;const int N 1010;
int nums[N][N];
int b[N][N];void insert(int x1,int y1,int x2,int y2,int c)
{b[x1][y1] c;b[x1][y2 1] - c;b[x2 1][y1] - c;b[x2 1][y2 1] c;
}int main()
{int n,m,q;cin n m q;for(int i 1;i n;i)for(int j 1;j m;j)cin nums[i][j];while(q--){int x1,y1,x2,y2,c;cin x1 y1 x2 y2 c;insert(x1,y1,x2,y2,c);}for(int i 1;i n;i)for(int j 1;j m;j){b[i][j] b[i - 1][j] b[i][j - 1] b[i][j] - b[i - 1][j - 1];nums[i][j] b[i][j];}// 打印最终数组for(int i 1;i n;i){for(int j 1;j m;j){printf(%d ,nums[i][j]);}printf(\n);}return 0;
}