1 条题解

  • 0
    @ 2019-01-13 10:58:37

    树状数组系列.

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int n,m,i,num[100001],t[200001],l,r; 
    int lowbit(int x){
        return x&(-x);
    }
    void change(int x,int p){ 
        while(x<=n){
            t[x]+=p;
            x+=lowbit(x);
        }
        return;
    }
    int sum(int k){
        int ans=0;
        while(k>0){
            ans+=t[k];
            k-=lowbit(k);
        }
        return ans;
    }
    int ask(int l,int r){
        return sum(r)-sum(l-1); 
    }
    int main(){
        cin>>n>>m;
        for(i=n;i<=n+m;i++){
                change(i,1);
        }
        cout<<ask(n,n+m)<<endl;
        return 0;
    }
    
    
  • 1

信息

难度
1
分类
(无)
标签
递交数
9
已通过
4
通过率
44%
上传者