引子:
前缀和应用广泛,尤其是在区间求和上的应用,是OIer的必备知识,我想让大家通过这篇博客初识前缀和的厉害
一维前缀和:
对于一个给定的数列A,它的前缀和就是能通过递推来求出的信息之一,公式如下
那么有人要问了,前缀和有什么用呢?
我们先看一个问题:
给定一个数列A,让你求区间[l,r]上所有数字的和
(第一行输入三个整数N,l,r,一下N行为数列中的数,输出区间[l,r]上的所有数字和)
1.传统的做法是是把区间上的每一个数都加起来
Res = A[l]+A[l+1]+....+A[r-1]+A[r]
代码如下:
#include<iostream>
using namespace std;
int num[10005];
int main(){
int tot;
int l,r;
int x;
int ans=0;
cin>>tot>>l>>r;
for(int i=1;i<=tot;i++){