树状数组模板

#include 
using namespace std;
#define ll long long
ll c[200005];
// 下标0无效 
ll lowbit(ll x){
	return (x&(-x));
}
ll add(ll x,ll pos,ll* tree_arr,ll sm){//加数,位置,树,n 
	for(ll i=pos;i<=sm;i+=lowbit(i)) tree_arr[i]+=x;
}
ll find(ll pos,ll* tree_arr,ll sm){//查询1-pos的和 
	ll res=0;
	for(ll i=pos;i>=1;i-=lowbit(i)) res+=tree_arr[i];
	return res;
}
int main()
{
	for(int i=0;i<200005;i++) c[i]=0; 
	return 0;
}

你可能感兴趣的:(一些模板,算法,数据结构)