パッケージ library.ds.waveletmatrix
クラス WaveletMatrix
java.lang.Object
library.ds.waveletmatrix.WaveletMatrix
WaveletMatrix
- 関連項目:
-
コンストラクタの概要
コンストラクタコンストラクタ説明WaveletMatrix(int[] arr) コンストラクタWaveletMatrix(int[] arr, int log) コンストラクタWaveletMatrix(long[] arr) コンストラクタWaveletMatrix(long[] arr, int log) コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明final longget(int k) WaveletMatrix[k]を返すfinal longkthMax(int l, int r, int k) 半開区間[l, r)に含まれる要素のうちk番目に大きい要素を返すfinal longkthMin(int l, int r, int k) final longnext(int l, int r, long lower) 半開区間[l, r)に含まれる要素のうちlowerの次に大きい要素を返すfinal longprev(int l, int r, long upper) 半開区間[l, r)に含まれる要素のうちupperの次に小さい要素を返すfinal intrangeFreq(int l, int r, long upper) 半開区間[l, r)に含まれる要素のうち[0, upper)である要素数を返すfinal intrangeFreq(int l, int r, long lower, long upper) 半開区間[l, r)に含まれる要素のうち[lower, upper)である要素数を返すfinal intrank(int l, int r, long x) 半開区間[l, r)に含まれるxの個数を返すfinal intrank(int r, long x) 半開区間[0, r)に含まれるxの個数を返す
-
コンストラクタの詳細
-
WaveletMatrix
public WaveletMatrix(int[] arr) コンストラクタ- パラメータ:
arr-
-
WaveletMatrix
public WaveletMatrix(long[] arr) コンストラクタ- パラメータ:
arr-
-
WaveletMatrix
public WaveletMatrix(int[] arr, int log) コンストラクタ- パラメータ:
arr-log-
-
WaveletMatrix
public WaveletMatrix(long[] arr, int log) コンストラクタ- パラメータ:
arr- 配列log- 基本20で良い
-
-
メソッドの詳細
-
get
public final long get(int k) WaveletMatrix[k]を返す- パラメータ:
k-- 戻り値:
- k番目の要素
-
rank
public final int rank(int r, long x) 半開区間[0, r)に含まれるxの個数を返す- パラメータ:
r-x-- 戻り値:
- 半開区間[0, r)に含まれるxの個数
-
rank
public final int rank(int l, int r, long x) 半開区間[l, r)に含まれるxの個数を返す- パラメータ:
l-r-x-- 戻り値:
- 半開区間[l, r)に含まれるxの個数
-
kthMin
public final long kthMin(int l, int r, int k) - パラメータ:
l-r-k-- 戻り値:
- 半開区間[l, r)に含まれる要素のうちk番目に小さい要素
-
kthMax
public final long kthMax(int l, int r, int k) 半開区間[l, r)に含まれる要素のうちk番目に大きい要素を返す- パラメータ:
l-r-k-- 戻り値:
- 半開区間[l, r)に含まれる要素のうちk番目に大きい要素
-
rangeFreq
public final int rangeFreq(int l, int r, long upper) 半開区間[l, r)に含まれる要素のうち[0, upper)である要素数を返す- パラメータ:
l-r-upper-- 戻り値:
- 半開区間[l, r)に含まれる要素のうち[0, upper)である要素数
-
rangeFreq
public final int rangeFreq(int l, int r, long lower, long upper) 半開区間[l, r)に含まれる要素のうち[lower, upper)である要素数を返す- パラメータ:
l-r-lower-upper-- 戻り値:
- 半開区間[l, r)に含まれる要素のうち[lower, upper)である要素数
-
prev
public final long prev(int l, int r, long upper) 半開区間[l, r)に含まれる要素のうちupperの次に小さい要素を返す- パラメータ:
l-r-upper-- 戻り値:
- 半開区間[l, r)に含まれる要素のうちupperの次に小さい要素
-
next
public final long next(int l, int r, long lower) 半開区間[l, r)に含まれる要素のうちlowerの次に大きい要素を返す- パラメータ:
l-r-lower-- 戻り値:
- 半開区間[l, r)に含まれる要素のうちlowerの次に大きい要素
-