Segment tree
(Mylib/DataStructure/SegmentTree/segment_tree.cpp)
Operations
モノイド$(M, \circ, e)$上の列を扱う。
SegmentTree(n)
operator[](i)
-
at(i)
- $a_i$を返す。
- Time complexity $O(1)$
-
get(l, r)
- $a_l \circ a_{l+1} \circ \ldots \circ a_{r-1}$を返す。
- Time complexity $O(\log n)$
-
update(i, value)
- $a_i$を
value
に変更する。
- Time complexity $O(\log n)$
init_with_vector(a)
init(value)
Requirements
-
Monoid
は結合律を満たす演算op
と単位元id
をもつ。
Notes
Problems
References
Required by
Verified with
Code
Back to top page