差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
programming_algorithm:data_structure:binary_indexed_tree [2023/02/08] – [扱える演算] ikatakos | programming_algorithm:data_structure:binary_indexed_tree [2023/02/08] (現在) – [扱える演算] ikatakos | ||
---|---|---|---|
行 110: | 行 110: | ||
常に1からの区間和だけでよいのであれば、逆元の存在は無くてもよく、可換モノイドであればよい。 | 常に1からの区間和だけでよいのであれば、逆元の存在は無くてもよく、可換モノイドであればよい。 | ||
+ | |||
+ | ++++ それぞれが成り立たない場合 | | ||
=== 可換でない場合 === | === 可換でない場合 === | ||
行 142: | 行 144: | ||
minやmaxは、一度小さい値で更新されてしまったら、その前の値は復元できない。 | minやmaxは、一度小さい値で更新されてしまったら、その前の値は復元できない。 | ||
- | 「1~10 の最小値は 5 でした」「1~4 の最小値も 5 でした」といわれたら、5~10 の最小値は何なのか分からない。よってこの場合は、1からの累積結果しか得られない。 | + | BITで、「1~10 の最小値は 5 でした」「1~4 の最小値も 5 でした」といわれても、5~10 の最小値は何なのか分からない。\\ |
+ | よって逆元を持たない場合は、1からの累積結果しか得られない。 | ||
かけ算も、値として' | かけ算も、値として' | ||
+ | |||
+ | ++++ | ||
==== より柔軟な実装 ==== | ==== より柔軟な実装 ==== |