comp-prog-jp-library-standard / competitive-programming-library

競技プログラミング用共通ライブラリ
MIT License
46 stars 1 forks source link

セグメント木を追加 #17

Closed ghost closed 6 years ago

ghost commented 6 years ago

一点更新・区間演算ができるセグメント木を追加する

決めること:

asi1024 commented 6 years ago

内部設計と外部設計で切り分けて議論したいです.

beet-aizu commented 6 years ago

indexingと再帰/非再帰が内部設計で他は外部設計ですかね。 名前については一点更新区間取得、区間更新一点取得、区間更新区間取得で区別できるようにしないと混乱を招きそうです。 抽象化についてはそれぞれメリット/デメリットがあるのでいくつかパターンを用意する(構造体を渡す、ラムダを渡す)必要があると思います。 区間表現はSTLに合わせるという面で半開区間を推したいです。

asi1024 commented 6 years ago

半開区間にすることについては誰も反対ないと思います.

asi1024 commented 6 years ago

何種類も表現方法を用意するのはメンテナンスコストを上げるのであまり望ましくないかと. 少なくともそれぞれのメリット,デメリットを具体的に列挙してから議論するべきだと思います.

asi1024 commented 6 years ago

とりあえず実際のコードがあったほうが議論しやすいかもしれないので,雑にPRを作っちゃってそれをたたき台にしてもよいかもしれません.

koba-e964 commented 6 years ago

とりあえずやります