
前缀与差分
文章平均质量分 54
你别教我打游戏
直面困难,重视过程,追求结果,淡忘过去。
展开
-
AcWing 797. 差分
接下来输入m个操作,每个操作包含三个整数l,r,c,表示将序列中[l,r]之间的每个数加上c。输入一个长度为n的整数序列。请你输出进行完所有操作后的序列。原创 2022-07-26 23:46:56 · 148 阅读 · 0 评论 -
二维矩阵的前缀和、差分 —— AcWing 796. 子矩阵的和、AcWing 798. 差分矩阵
首先约定,a是原数组、b是a对应的差分数组、c是a对应的前缀和数组。二维数组的前缀和公式前缀和的计算公式。c(i,j)=a(i,j)+c(i−1,j)+c(i,j−1)−c(i−1,j−1)c(i,j) = a(i,j) + c(i-1,j)+c(i,j-1) - c(i-1,j-1)c(i,j)=a(i,j)+c(i−1,j)+c(i,j−1)−c(i−1,j−1)变形为:a(i,j)=c(i,j)−c(i−1,j)−c(i,j−1)+c(i−1,j−1)a(i,j) = c(i,j)原创 2021-03-25 15:36:13 · 166 阅读 · 0 评论 -
二维前缀和模板(DP、容斥原理)
利用DP、容斥原理的思想。s[i][j]s[i][j]s[i][j] 记录从[1][1][1][1][1][1]到[i][j][i][j][i][j]形成的矩形的区域和。状态更新:s[i][j]=s[i−1][j]+s[i][j−1]−s[i−1][j−1+g[i][j]s[i][j] =s[i-1][j]+s[i][j-1]-s[i-1][j-1+g[i][j]s[i][j]=s[i−1][j]+s[i][j−1]−s[i−1][j−1+g[i][j] 下标从1开始求[x1][y1][x1][y1原创 2020-09-03 10:17:25 · 186 阅读 · 0 评论