一般的树状数组解决区间加&单点询问并不复杂
但是要解决区间求和。。。
我们假设原数组是
{ai}
,差分数组
{di=ai−ai−1}
所以,我们有式子
ax=∑i=1xdi
现在的问题是区间和,也就是求
∑i=1xai
如果把每个都拆成上面的形式,那么我们就有
Ans=∑i=1ndi(x−i+1)
Ans=∑i=1n(x+1)di−∑i=1nidi
因此,在维护树状数组的时候分别维护两个值
一个
di
,一个
idi
即可。