manabeai/ac-library-mbt/segtree does not have a README file

    SegTree

    pub struct SegTree[S] {
    // private fields
    }

    A monoid segment tree. op and e must be pure; op need not commute.

    SegTree::all_prod

    fn[S] SegTree::all_prod(self : SegTree[S]) -> S

    SegTree::from_array

    fn[S] SegTree::from_array(values : Array[S], op~ : (S, S) -> S, e~ : () -> S) -> SegTree[S]

    SegTree::get

    fn[S] SegTree::get(self : SegTree[S], p : Int) -> S

    SegTree::max_right

    fn[S] SegTree::max_right(self : SegTree[S], l : Int, predicate : (S) -> Bool) -> Int

    Requires predicate(e()) and a pure monotone predicate. O(log n).

    SegTree::min_left

    fn[S] SegTree::min_left(self : SegTree[S], r : Int, predicate : (S) -> Bool) -> Int

    Requires predicate(e()) and a pure monotone predicate. O(log n).

    SegTree::new

    fn[S] SegTree::new(n : Int, op~ : (S, S) -> S, e~ : () -> S) -> SegTree[S]

    SegTree::prod

    fn[S] SegTree::prod(self : SegTree[S], l : Int, r : Int) -> S

    SegTree::set

    fn[S] SegTree::set(self : SegTree[S], p : Int, value : S) -> Unit

    Source Files

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io