zoukankan      html  css  js  c++  java
  • 发个ZKW线段树板子测试一下代码高亮

    是我,Long time no see          --Jim

    先安利

    Wolves  歌手:Madilyn Bailey

     
     
     
     
     
     
     
     

    代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #include<bits/stdc++.h>
    #define MAXN 500005
    using namespace std;
    int read(){
        int x=0,t=1;char c=getchar();
        while(c<'0'||c>'9'){if(c=='-')t=-1;c=getchar();}
        while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
        return x*t;
    int N,M,T[MAXN*4],Q;
    void Build_tree(){
        for(M=1;M<N;M<<=1);
        for(int i=M+1;i<=M+N;i++)T[i]=read();
        for(int i=M-1;i;i--)T[i]=T[i<<1]+T[i<<1|1]; 
    }
    void Add(int x,int v){
        for(T[x=M+x]+=v,x>>=1;x;x>>=1)
            T[x]=T[x<<1]+T[x<<1|1];
    }
    long long Query(int l,int r){
        long long sum=0;
        for(l=l+M-1,r=r+M+1;l^r^1;l>>=1,r>>=1){
            if(~l&1)sum+=T[l^1];
            if( r&1)sum+=T[r^1];
        }return sum;
    }
    int main(){
        N=read(),Q=read();
        Build_tree();
        while(Q--){
            int a=read(),b=read(),c=read();
            if(a==1)Add(b,c);
            else printf("%lld ",Query(b,c)); 
        }
        return 0;
    }
  • 相关阅读:
    [CQOI2017] 小Q的棋盘
    CF75D Big Maximum Sum
    Dockerfile
    docker镜像与容器的导出导入
    ubuntu安装glusterFS
    常用工具网站网址
    国内数据分析平台
    清理系统垃圾
    sql注入笔记
    shopify Liquid语言学习知识点总结
  • 原文地址:https://www.cnblogs.com/Elfish/p/8371132.html
Copyright © 2011-2022 走看看