前缀和解法
2026-04-02 07:35:01
发布于:广东
1阅读
0回复
0点赞
运用前缀和的解法,时间复杂度我不知道喵
#include<bits/stdc++.h>
using namespace std;
int a[100005];//元素数组
int b[100005];//前缀和数组
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){//输入
cin>>a[i];
b[i]=b[i-1]+a[i];//此处求的是该元素下标的前缀和(从1~i的元素和),通过前一项的前缀和+该元素实现
}
for(int i=1;i<=m;i++){//输出
int x,y;
cin>>x>>y;//左右区间
cout<<b[y]-b[x-1]<<endl;//此处求区间和,右区间处的前缀和-左区间处-1的前缀和
}
return 0;
}
这里空空如也







有帮助,赞一个