第三课-前缀和差分

话先说在前面

前缀和应用:
在时间复杂度上能比较可观的
Acwing-795-前缀和
前缀和题目
真的是蛮有用的

#include <iostream>
using namespace std;
const int N=1e6+10;
int n,m,a[N],s[N];
int main(){
	ios::sync_with_stdio(false); 
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++) scanf("%d",&a[N]);
	for(int i=i;i<=n;i++) s[i]=s[i-1]+a[i];
	while(m--){
		int l,r;
		cin>>l>>r;
		scanf("%d%d",&l,&r);
		printf("%d",s[r]-s[l-1]);
	}
	return 0;  
}

前缀和扩展:从一维到二维。从一维取出一个单独区间取得整体的和。
那么很容易去扩展,想到二维,给你一个矩阵,计算出大矩阵小矩阵的和。
Acwing-796. 子矩阵的和

猜你喜欢

转载自blog.csdn.net/weixin_44110100/article/details/106977784