树状数组模版 void updata(int x,int val){ for(int i=x;i<=n;i+=lowbit(i)){ e[i]+=val; } } int ask(int x){ int sum=0; for(int i=x;i;i-=lowbit(i)){ sum+=e[i]; } return sum; } int range_ask(int l,int r){ return ask(r)-ask(l-1); }