Binary Index Tree Template

Zhiyuan Xu Lv1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespace BIT{
#define lowbits(x) (x&(-x))

inline int read(){
register int a=0,f=1;register char c;
while((c=getchar())<'0')if(c=='-')f=-1;;
while(c>='0')a=a*10+(c^48),c=getchar();
return a*f;
}
int n,q,a,b,c,seg[MAXN],pos[MAXN];
inline void update(int v, int val){
for (int i=v;i<MAXN;i+=lowbits(i)) seg[i]+=val;
}
inline int query(int t, int f){
int ans = 0;
for (int i=f;i;i-=lowbits(i)) ans+=seg[i];
for (int i=t-1;i;i-=lowbits(i)) ans-=seg[i];
return ans;
}
inline void solve();
}
  • Title: Binary Index Tree Template
  • Author: Zhiyuan Xu
  • Created at : 2024-07-06 00:04:04
  • Updated at : 2024-07-06 00:04:11
  • Link: https://redefine.ohevan.com/Template/BIT/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
Binary Index Tree Template