Persistent segment tree
(Mylib/DataStructure/SegmentTree/persistent_segment_tree.cpp)
Operations
モノイド$(M, \circ, e)$上の列を扱う。
PersistentSegmentTree(n)
PersistentSegmentTree(a[n])
-
update(i, v)
- $a_i \leftarrow a_i \circ v$で更新した
PersistentSegmentTree
を返す。
- Time complexity $O(\log N$)
-
get(i, j)
- $a_i \circ \ldots \circ a_{j-1}$を返す。
- Time complexity $O(\log N$)
-
at(i)
- $a_i$を返す。
- Time complexity $O(\log N$)
Requirements
Notes
- 2次元矩形領域中の点の総和を求めるようなクエリを処理できる。
Problems
References
Verified with
Code
Back to top page