反向树状数组 $\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) $ 。

相关文章:

  • 2022-12-23
  • 2021-12-23
猜你喜欢
  • 2021-12-29
  • 2022-02-04
  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
  • 2021-11-09
  • 2022-12-23
相关资源
相似解决方案