#include <iostream>
#include <cstdio>
#include <cstring>
#include<cmath>
using namespace std;
int n;代表数组的长度
int lowbit(int x)
{
return x&(-x);///返回的是x的二进制末尾0的个数
}
void update(int i,int x)///单点更新
{
while(i<=n)
{
c[i]+=x;
i+=lowbit(i);///父节点也要进行更新
}
}
int _sum(int k)///求前k项和
{
while(k>0)
{
sum+=c[k];
k-=lowbit(k);
}
return sum;
}
-----树状数组模板
最新推荐文章于 2022-01-23 13:07:28 发布