大纲
1.计算前缀和
2.计算字段和
3.后缀和
4.前缀积
5.后缀积
6.例题
1.计算前缀和
基础问题:
思路1:
枚举
cin ();
for (int i = 1; i <= q; i++)
{
cin >> x;
int sum = 0;
for (int j = 1; j <= x; j++)
{
sum += a[j];
}
cout << sum << endl;
}
时间复杂度:O(QN) 极端情况时间复杂度会超!
思路2:
前缀和
可以发现:
以x的角度再来看看我们的发现有什么作用:
所以我们就可以用递推 + 查表 来做这道题:
sum[0] = 0;
for (int i = 1; i <= n; i++) sum[i] = sum[i - 1] + A[i];
for (int i = 1; i <= q