パッケージ library.math.prefixsum

クラス PrefixSum

java.lang.Object
library.other.InclusiveScan
library.math.prefixsum.PrefixSum

public final class PrefixSum extends InclusiveScan
累積和クラス C++のstd::partial_sumとimos法による累積和の両方が可能
関連項目:
  • フィールドの概要

    クラスから継承されたフィールド library.other.InclusiveScan

    n, s
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    PrefixSum(int n)
    コンストラクタ imos法を使った累積和はこっち
    PrefixSum(int[] a)
    コンストラクタ
    PrefixSum(long[] a)
    コンストラクタ
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    final void
    add(int l, int r, long x)
    半開区間[l, r)にxを加算する
    final long[]
    構築
    final long
    sum(int l, int r)
    閉区間[l, r]の和を求める

    クラスから継承されたメソッド library.other.InclusiveScan

    get

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

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

    • PrefixSum

      public PrefixSum(int n)
      コンストラクタ imos法を使った累積和はこっち
      パラメータ:
      n -
    • PrefixSum

      public PrefixSum(int[] a)
      コンストラクタ
      パラメータ:
      a -
    • PrefixSum

      public PrefixSum(long[] a)
      コンストラクタ
      パラメータ:
      a -
  • メソッドの詳細

    • sum

      public final long sum(int l, int r)
      閉区間[l, r]の和を求める
      パラメータ:
      l -
      r -
      戻り値:
      閉区間[l, r]の和
    • add

      public final void add(int l, int r, long x)
      半開区間[l, r)にxを加算する
      パラメータ:
      l -
      r -
      x -
    • build

      public final long[] build()
      構築
      戻り値:
      累積和