一维差分 一维差分例题 二维差分 二维差分习题 声明 前缀和 与 差分可以理解为互逆的, 求前缀和 跟 差分通常设数组首项下标为1,方便思考的计算。 一维前缀和介绍 对于一维数组 a[n] , 存在数组 sum[n],使得 sum[i] = a[1] + a[2] + ... + a[i] 前缀和优势 以O(1)的时间复杂度得到某块区间...
第二章 前缀和、差分与离散化 例题*T1 P1719 最大加权矩形题目描述:给定一个n*n的矩阵,求出其中元素和最大的一块子矩阵的元素和。n≤120n≤120思路1: 矩阵前缀和 O(n4)O(n4)先执行一次矩阵前缀和。然后依次枚举每对点,O(1)∗n4O(1)∗n4遍历每一个子矩阵。
思路: 先用二维前缀和的公式,求出g[x][y]的矩阵内的价值,然后就开始记录哪个正方形内的价值最大即可 代码语言:javascript 复制 #include<iostream>#include<vector>#include<cstring>using namespace std;typedef long long ll;int n,R;int g[5005][5005];intmain(){cin>>n>>R;memset(g,0,sizeof g);...
二维差分一维多一个维度,会出现重叠的问题。 普通算法需要O(n2)的时间复杂度而使用差分与二维前缀和相结合只需O (1)的 时间复杂度根据前缀和的特性,在(x1,y1)-(x2,y2)区域内,差分影响的是整个黄色区域,多影响两个蓝色部分。绿色区域是两个蓝色区域重叠的部分,所以要加上与一块蓝色区域操作的反操作(即补...