#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
#include<stack>
#include<vector>
using namespace std;
//这些都是套路
const int INF=0x3fffffff;
const int maxn=1010;
typedef long long LL;
int a[maxn],c[maxn],n;
void BuildTree(){
memset(c,0,sizeof(c));
for(int i=1;i<=n;i++){
for(int j=i-(i&(-i))+1;j<=i;j++)
c[i]+=a[j];
}
}
int Sum(int k){//求前k项和
int ret=0;
while(k>0){
ret+=c[k];
k=k-(k&(-k));
}
return ret;
}
int Query(int s,int e){//其核心是Sum(k)
return Sum(e)-Sum(s-1);//注意是s-1,
}
void Update(int lct,int x){//根据数组下标维护树状数组
while(lct<=n){
c[lct]+=x;
lct=lct+lct&(-lct);
}
}
int main(){//树状数组多用于单点更新,区间查询
//freopen("data.in","r",stdin);
return 0;
}
\
\
\