樹狀數組區間加法&區間求和操作
一般的樹狀數組解決區間加&單點詢問並不復雜
但是要解決區間求和。。。
我們假設原數組是\(\{a_i\}\),差分數組\(\{d_i=a_i-a_{i-1}\}\)
所以,我們有式子
\[a_x=\sum_{i=1}^xd_i \]
現在的問題是區間和,也就是求
\[\sum_{i=1}^xa_i \]
如果把每個都拆成上面的形式,那么我們就有
\[Ans=\sum_{i=1}^nd_i(x-i+1) \]
\[Ans=\sum_{i=1}^n(x+1)d_i-\sum_{i=1}^nid_i \]
因此,在維護樹狀數組的時候分別維護兩個值
一個\(d_i\),一個\(id_i\)即可。
