其他分享
首页 > 其他分享> > 前缀和(原理+应用)

前缀和(原理+应用)

作者:互联网

#include<bits/stdc++.h>//前列项求和模板 
using namespace std;
int main()
{
	long long a[100001];
	long long n,m,i,j,k,l;
	long long x,y;
	long long sum[100001]={0}; 
	scanf("%lld %lld",&n,&m);
	for(i=1;i<=n;i++)
	scanf("%lld",&a[i]);
	for(i=1;i<=n;i++)
	{
		sum[i]=sum[i-1]+a[i];
	}
	while(m--)
	{
		scanf("%lld",&x);
		printf("%lld\n",sum[x]);
	}
	return 0;
}

那么前缀和可以做什么呢:

#include<stdio.h>
long long a[1000010];
double sum[1000010];
long long n,m,i,j,x,y,t;
int main()
{
    scanf("%lld",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%lld",&a[i]);
        sum[i]=a[i]+sum[i-1];
    }
    scanf("%lld",&m);
    while(m--)
    {
        scanf("%lld %lld",&x,&y);
        if(x>y)
        {
        	t=y;
        	y=x;
        	x=t;
		}
        printf("%.3lf",(sum[y]-sum[x-1])/(y-x+1));
        if(m!=0)
        printf("\n");
    }
    return 0;
}

标签:豆豆,前缀,sum,整数,long,应用,原理,lld
来源: https://blog.csdn.net/Skyniliuershang/article/details/122715508