前缀和
思想
就是直接使用前缀和,来保留一部分信息,省得重复计算
犯的错误
三目表达式似乎不能直接当做一个变量使用
实现
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin >> n >> m;
int *num = new int[n];
for(int i = 0; i < n; i++) cin >> num[i];
for(int i = 1; i < n; i++) num[i] += num[i-1];
for(int i = 0; i < m; i++)
{
int l, r;
cin >> l >> r;
l = l == 1 ? 0: num[l-2];
cout << num[r-1] - l << endl;
}
return 0;
}
模板
S[i] = a[1] + a[2] + ... a[i]
a[l] + ... + a[r] = S[r] - S[l - 1]