1 条题解

  • 0
    @ 2026-9-30 12:36:10

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    long long cs[1000005],a,b,c,n,l,r,ans,bh[1000005],s[1000005];
    int main(){
        cin>>n>>a>>b;
        for(int i=1;i<=a;++i)
        {
        	scanf("%lld %lld %lld",&l,&r,&c);
            if(l>r) swap(l,r);
        	cs[l]=(cs[l]%1000000007+c%1000000007)%1000000007;
        	cs[r+1]=(cs[r+1]+1000000007-c%1000000007)%1000000007;
        }
        for(int i=1;i<=n;++i)
        {
        	bh[i]=(bh[i-1]+cs[i])%1000000007;
    		//printf("%lld ",bh[i]);
    		s[i]=(s[i-1]+bh[i])%1000000007;
        }
        while(b--)
        {
        	scanf("%lld %lld",&l,&r);
            if(l>r) swap(l,r);
        	ans=(s[r]+1000000007-s[l-1])%1000000007;
        	printf("%lld\n",ans);
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    2619
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者