DUTOJ-1225: Geralt的佛系昆特牌-差分数组

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/L1558198727/article/details/83107588

用到了差分数组来维护一段区间上的性质
关于差分数组
https://www.cnblogs.com/COLIN-LIGHTNING/p/8436624.html

代码:

#include<stdio.h>

int a[1000002];
int b[1000002];
int d[1000002];
int sum[1000002];
int main(){

    int m,n;
    int l,r;
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    for(int i=0;i<n;i++){
        scanf("%d",&b[i]);
    }

    for(int i=0;i<m;i++){
        scanf("%d%d",&l,&r);
        d[l-1]++;
        d[r]--;
    }
    sum[0]=d[0];
    for(int i=1;i<n;i++){
        sum[i]=sum[i-1]+d[i];
    }
    for(int i=0;i<n;i++){
        printf("%d%c", a[i] + b[i] * sum[i], i == n-1 ? '\n' : ' ');
    }
return 0;
}

猜你喜欢

转载自blog.csdn.net/L1558198727/article/details/83107588