クラス LazySegmentTree<T,U extends Comparable<? super U>>

java.lang.Object
library.ds.lazysegmenttree.LazySegmentTree<T,U>
直系の既知のサブクラス:
RAMN, RAMX, RASM, RUMN, RUMX, RUSM

public class LazySegmentTree<T,U extends Comparable<? super U>> extends Object
遅延セグ木
関連項目:
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    LazySegmentTree(int n, BinaryOperator<T> f, BiFunction<T,U,T> map, BinaryOperator<U> comp, T e, U id)
    コンストラクタ
    LazySegmentTree(T[] a, BinaryOperator<T> f, BiFunction<T,U,T> map, BinaryOperator<U> comp, T e, U id)
    コンストラクタ
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    final T
    all()
    全体の二項演算結果を返す
    final void
    apply(int l, int r, U x)
    半開区間[l, r)について作用素xを適用する
    final void
    apply(int k, U x)
    k番目の要素に作用素xを適用する
    final void
    build(T[] a)
    構築
    final void
    要素をリセットする
    final int
    findFirst(int l, Predicate<T> fn)
    半開区間[l, x)がfnを満たす最初の要素位置xを返す
    final int
    findLast(int r, Predicate<T> fn)
    半開区間[x, r)がfnを満たす最後の要素位置xを返す
    final T
    get(int k)
    LazySegmentTree[k]を返す
    final T
    query(int l, int r)
    半開区間[l, r)についての二項演算結果を返す
    final void
    set(int k, T x)
    k番目の要素をxに更新する
    final T[]
    LazySegmentTreeを配列に変換したものを返す
    final String
     

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • LazySegmentTree

      public LazySegmentTree(int n, BinaryOperator<T> f, BiFunction<T,U,T> map, BinaryOperator<U> comp, T e, U id)
      コンストラクタ
      パラメータ:
      n - サイズ
      f - 二項演算
      map - mapping
      comp - composition
      e - 単位元
      id -
    • LazySegmentTree

      public LazySegmentTree(T[] a, BinaryOperator<T> f, BiFunction<T,U,T> map, BinaryOperator<U> comp, T e, U id)
      コンストラクタ
      パラメータ:
      a - ボクシングさせた配列
      f -
      map -
      comp -
      e -
      id -
  • メソッドの詳細

    • build

      public final void build(T[] a)
      構築
      パラメータ:
      a -
    • set

      public final void set(int k, T x)
      k番目の要素をxに更新する
      パラメータ:
      k -
      x -
    • get

      public final T get(int k)
      LazySegmentTree[k]を返す
      パラメータ:
      k -
      戻り値:
      k番目の要素
    • query

      public final T query(int l, int r)
      半開区間[l, r)についての二項演算結果を返す
      パラメータ:
      l -
      r -
      戻り値:
      半開区間[l, r)について二項演算した結果
    • all

      public final T all()
      全体の二項演算結果を返す
      戻り値:
      全体を二項演算した結果
    • apply

      public final void apply(int k, U x)
      k番目の要素に作用素xを適用する
      パラメータ:
      k -
      x -
    • apply

      public final void apply(int l, int r, U x)
      半開区間[l, r)について作用素xを適用する
      パラメータ:
      l -
      r -
      x -
    • findFirst

      public final int findFirst(int l, Predicate<T> fn)
      半開区間[l, x)がfnを満たす最初の要素位置xを返す
      パラメータ:
      l -
      fn -
      戻り値:
      半開区間[l, x)がfnを満たす最初の要素位置x if non-existence: n
    • findLast

      public final int findLast(int r, Predicate<T> fn)
      半開区間[x, r)がfnを満たす最後の要素位置xを返す
      パラメータ:
      r -
      fn -
      戻り値:
      半開区間[x, r)がfnを満たす最後の要素位置x if non-existence: −1
    • clear

      public final void clear()
      要素をリセットする
    • toArray

      public final T[] toArray()
      LazySegmentTreeを配列に変換したものを返す
      戻り値:
      LazySegmentTreeの配列
    • toString

      public final String toString()
      オーバーライド:
      toString クラス内 Object