完全不知道该怎么用,看书稍微懂了点. 题意: 给定序列及操作,求区间和. 分析: 树状数组可以高效的求出连续一段元素之和或更新单个元素的值.但是无法高效的给某一个区间的所有元素同时加个值. 不能直接用树状数组求,就处理一下.用两个树状数组维护两个数据,一个维护前i项和,一个维护增加的值.设: ∑j=1iaj=sum(bit1,i)∗i+sum(bit0,i) 那么[l,r]区间上同时加上x就可以表示为: 对于bit0来说,在l位置上加上−x∗(l−1),在r+1位置上加上x∗r 对于bit1来说…