zoukankan      html  css  js  c++  java
  • AC日记——统计和 洛谷 P2068

    统计和

    思路:

      水题;

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    #define maxn 100005
    int n,m,tree[maxn];
    inline void in(int &now)
    {
        int if_z=1;now=0;
        char Cget=getchar();
        while(Cget>'9'||Cget<'0')
        {
            if(Cget=='-') if_z=-1;
            Cget=getchar();
        }
        while(Cget>='0'&&Cget<='9')
        {
            now=now*10+Cget-'0';
            Cget=getchar();
        }
        now*=if_z;
    }
    inline int lowbit(int x)
    {
        return x&(-x);
    }
    inline void add(int x,int di)
    {
        while(x<=n)
        {
            tree[x]+=di;
            x+=lowbit(x);
        }
    }
    inline int sum(int l,int r)
    {
        l--;int res=0;
        while(r) res+=tree[r],r-=lowbit(r);
        while(l) res-=tree[l],l-=lowbit(l);
        return res;
    }
    int main()
    {
        in(n),in(m);int a,b;char op[4];
        while(m--)
        {
            scanf("%s",op),in(a),in(b);
            if(op[0]=='x') add(a,b);
            else printf("%d
    ",sum(a,b));
        }
        return 0;
    }
  • 相关阅读:
    leetcode211
    leetcode209
    leetcode201
    leetcode1396
    leetcode1395
    leetcode1394
    leetcode1386
    leetcode1387
    leetcode1382
    leetcode1376
  • 原文地址:https://www.cnblogs.com/IUUUUUUUskyyy/p/6953495.html
Copyright © 2011-2022 走看看