Closed ghost closed 6 years ago
内部設計と外部設計で切り分けて議論したいです.
indexingと再帰/非再帰が内部設計で他は外部設計ですかね。 名前については一点更新区間取得、区間更新一点取得、区間更新区間取得で区別できるようにしないと混乱を招きそうです。 抽象化についてはそれぞれメリット/デメリットがあるのでいくつかパターンを用意する(構造体を渡す、ラムダを渡す)必要があると思います。 区間表現はSTLに合わせるという面で半開区間を推したいです。
半開区間にすることについては誰も反対ないと思います.
何種類も表現方法を用意するのはメンテナンスコストを上げるのであまり望ましくないかと. 少なくともそれぞれのメリット,デメリットを具体的に列挙してから議論するべきだと思います.
とりあえず実際のコードがあったほうが議論しやすいかもしれないので,雑にPRを作っちゃってそれをたたき台にしてもよいかもしれません.
とりあえずやります
一点更新・区間演算ができるセグメント木を追加する
決めること:
SegTree
orSegmentTree
(他にありますか)