树状数组模板(持续更新)

Posted peter0701

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树状数组模板(持续更新)相关的知识,希望对你有一定的参考价值。

树状数组题目(持续更新)

\\(1.\\) 树状数组 \\(1\\) :单点修改,区间查询

\\(2.\\) 树状数组 \\(2\\) :区间修改,单点查询

\\(3.\\) 树状数组 \\(3\\) :区间修改,区间查询

树状数组单点修改,区间查询和

$View$ $Code$

//省略头文件
using namespace std;
inline int read()

    int ret=0,f=1;
    char ch=getchar();
    while(ch>‘9‘||ch<‘0‘)
    
        if(ch==‘-‘)
            f=-1;
        ch=getchar();
    
    while(ch>=‘0‘&&ch<=‘9‘)
    
        ret=(ret<<1)+(ret<<3)+ch-‘0‘;
        ch=getchar();
    
    return ret*f;

int n,q,a[1000005],op,x,val,l,r;
long long bit[1000005];
inline long long query(int x)

    long long ans=0;
    for(;x;x-=x&-x)
        ans+=bit[x];
    return ans;

inline void modify(int x,int y)

    for(;x<=n;x+=x&-x)
        bit[x]+=y;
    return;

int main()

    n=read();
    q=read();
    for(register int i=1;i<=n;i++)
    
        a[i]=read();
        modify(i,a[i]);
    
    while(q--)
    
        op=read();
        if(op==1)
        
            x=read();
            val=read();
            modify(x,val);
        
        else
        
            l=read();
            r=read();
            printf("%lld\\n",query(r)-query(l-1));
        
    
    return 0;

树状数组区间修改,单点查询

树状数组区间修改,区间查询和

以上是关于树状数组模板(持续更新)的主要内容,如果未能解决你的问题,请参考以下文章

模板 树状数组

树状数组模板

模板树状数组

Bit的树状数组

树状数组--Kin

树状数组区间加+区间查询模板洛谷P3372