$\DeclareMathOperator{\lowbit}{lowbit}$
对于正向树状数组,$a_i$ 表示 区间 $(i - \lowbit(i), i]$ 中的信息,对于反向树状数组 $a_i$ 表示区间 $[i, i+\lowbit(i))$ 中的信息。正向树状数组支持查询区间 $[1,i]$ 中的信息,反向树状数组支持查询区间 $[i, n]$ 中的信息,其中 $n$ 表示数组长度。
正向树状数组查询时是不断地 $i \gets i - \lowbit(i)$,更新时是不断地 $ i \gets i + \lowbit(i)$;
反向树状数组正好反过来,查询时是不断地 $ i \gets i + \lowbit(i) $,更新时是不断地 $ i \gets i - \lowbit(i) $ 。