zoukankan      html  css  js  c++  java
  • 徐州H

    #include<bits/stdc++.h>
    using namespace std;
    #define rep(i,a,b) for(int i=a;i<=b;++i)
    #define ms(arr,a) memset(arr,a,sizeof arr)
    #define debug(x) cout<<"< "#x" = "<<x<<" >"<<endl
    const int maxF=1e5+5;
    int n,q;
    long long s[maxF],ss[maxF];
    inline lowbit(int x)
    {
        return x&(-x);
    }
    void adds(int i,long long k)
    {
        while(i<=n)
        {
            s[i]+=k;
            i+=lowbit(i);
        }
    }
    void addss(int i,long long k)
    {
        while(i<=n)
        {
            ss[i]+=k;
            i+=lowbit(i);
        }
    }
    long long sums(int i)
    {
        long long ret=0;
        while(i)
        {
            ret+=s[i];
            i-=lowbit(i);
        }
        return ret;
    }
    long long sumss(int i)
    {
        long long ret=0;
        while(i)
        {
            ret+=ss[i];
            i-=lowbit(i);
        }
        return ret;
    }
    int main()
    {
    	//freopen("Input.txt","r",stdin);
    	//freopen("Output.txt","w",stdout);
        while(~scanf("%d%d",&n,&q))
        {
            long long tmp;
            for(int i=1;i<=n;++i)
            {
                scanf("%lld",&tmp);
                adds(i,tmp);addss(i,tmp*i);
            }
            int a,b,c;
            for(int i=1;i<=q;++i)
            {
                scanf("%d%d%d",&a,&b,&c);
                if(a==1)
                {
                    printf("%lld
    ",1LL*(c+1)*(sums(c)-sums(b-1))-sumss(c)+sumss(b-1));
                }
                else{
                    long long tmp=sums(b)-sums(b-1);
                    adds(b,1LL*c-tmp);addss(b,1LL*b*c-tmp*b);
                }
            }
        }
    	//freopen("CON","w",stdout);
    	//system("start Output.txt");
    }
    
  • 相关阅读:
    php hash_hmac HMAC_SHA1 加密
    文件上传最好用绝对路径
    composer 安装插件
    php 账单生成
    php 求当前日期到下一年的实际天数
    php 求两个日期之间相差的天数
    PHP闭包 function() use()
    php 验证参数为0 但不为空
    php 原生mysqli
    前端框架选择
  • 原文地址:https://www.cnblogs.com/maoruimas/p/9614654.html
Copyright © 2011-2022 走看看