樹狀數組維護區間和支持區間加法

令原數組爲\(\{a_n\}\),差分數組\(\{d_i=a_i-a_{i-1}\}\)
顯然\(a_x=\sum_{i=1}^x d[i]\)
我們現在要求\(\sum_{i=1}^x a_i\)
把每個\(a_i\)都按上面的形式表示,就有\(\sum_{i=1}^x a_i=\sum_{i=1}^x d_i(x-i+1)=(x+1)\sum_{i=1}^x d_i-\sum_{i=1}^x id_i\)
於是開2個樹狀數組維護\(\{d_i\}\)\(\{id_i\}\)即可
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章