
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【Fenwick_Tree編】AtCoder Library 解読 〜Pythonでの実装まで〜 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【Fenwick_Tree編】AtCoder Library 解読 〜Pythonでの実装まで〜 - Qiita
を計算する必要があるので、計算量は $O(N)$ となります。 1.2. 部分和といえば累積和 クエリsumのよう... を計算する必要があるので、計算量は $O(N)$ となります。 1.2. 部分和といえば累積和 クエリsumのような数列の部分和といえば累積和が思いつくでしょう。実際、数列 $a$ の累積和をとった配列を用意すればクエリsumは $O(1)$ で処理できます。 しかし、クエリaddはどうでしょうか。数列 $a$ の1箇所を変更すると累積和を計算し直す必要があるので結局、計算量は $O(N)$ となります。 1.3. そんなときにフェニック木 愚直解も累積和もadd,sum両方のクエリを処理するためには1回あたり計算量 $O(N)$ が必要でした。もちろんこれで間に合う場合はいいのですがもっと速くしたい。。。 そんなときに登場するのがフェニック木です。フェニック木はクエリadd, sumの両方を1回あたり $O(\log N)$ で処理できます! フェニック木は Binary Indexed