樹狀陣列模板
阿新 • • 發佈:2018-12-18
const int maxn=32010; int cnt[maxn];//記錄結果 int bit[maxn];//樹狀陣列 int n;//葉子結點數目 int lowbit(int x) {//返回二進位制數的最後一位1 return x&(-x); } int sum(int x) {//返回a[1]~a[x]的和 int res=0; while(x) { res+=bit[x]; x-=lowbit(x); } return res; } void add(int x,int v) {//實現對a[x]+v的修改 while(x<=maxn)//注意這裡不能寫成x<=n { bit[x]+=v; x+=lowbit(x); } } --------------------- 作者:@Herobrine 來源:CSDN 原文:https://blog.csdn.net/qq_41636123/article/details/82706654 版權宣告:本文為博主原創文章,轉載請附上博文連結!