Fenwick Tree
長さ$ Nのある数列$ Aに対して以下の操作をそれぞれ$ O(log \, N)で実行できるデータ構造。ただし、$ A_iは左から$ i番目の値のことを表す。
操作1.$ i, xを指定して、$ A_iに値$ xを足す。
操作2.$ l,rを指定して、$ A_l, A_{l+1},...,A_rの合計値を知る。
参考
【Fenwick_Tree編】AtCoder Library 解読 〜Pythonでの実装まで〜