树状数组模板

xiaoxiao2021-02-28  151

模板废话

#include<iostream> #define ll long long using namespace std; const int maxn=500010; int n,m; int bit[maxn]; void add(int i,int x){ while (i<=n){ bit[i]+=x; i+=i&-i; } } ll sum(int i){ ll ans=0; while (i){ ans+=bit[i]; i-=i&-i; } return ans; } int data; int main(){ scanf("%d %d",&n,&m); for (int i=1;i<=n;i++){ scanf("%d",&data); add(i,data); } int tmp,x,y; while (m--){ scanf("%d %d %d",&tmp,&x,&y); if (tmp==1) add(x,y); else printf("%d\n",sum(y)-sum(x-1)); } }
转载请注明原文地址: https://www.6miu.com/read-36878.html

最新回复(0)