すべてのクラスおよびインタフェース

クラス
説明
AVL木 TreeSetだが、O(log n)で任意のインデックスの要素にアクセスできる
10^18より大きい整数に対して素数判定や素因数分解をできるクラス
推奨されていません。
verifyしていない
DoubleEndedPriorityQueue 両端からアクセスできるHeapQueue
DPを使った便利メソッドまとめ
UnionFindのベースとなるインターフェース Disjoint Set Union
双対セグ木
辺を表すクラス
1からnまでの整数のうちnと互いに素なものの個数を求めるテーブルを作成するクラス
FenwickTree(Binary Indexed Tree[BIT])
浮動小数特化のPairクラス メソッドはIntPairにあるもののFloatPair版
グラフクラス
C++のstd::inclusive_scanに相当するクラス
整数特化のDeque Iteratorはない
整数型のPair特化クラス 便利なメソッドもある
入出力をまとめたクラス
遅延セグ木
10^18以下の整数に対して高速に素数判定や素因数分解をできるクラス
最小共通祖先を求めるクラス [注意] verifyをしていない
Mainクラス ここに変更は加えない 実行時間をローカルで計測可能
行列
UnionFind内でマージテクを使いたい時に使うクラス
二項係数の演算を高速で行うクラス modは素数 前計算にO(len + log mod)かかる
最小全域木クラス
ランダムアクセスが可能なDeque viralさんに感謝
出力クラス PrintWriterより速い
入力クラス Scannerより速い
C++のstd::pairに相当するクラス
累積和クラス C++のstd::partial_sumとimos法による累積和の両方が可能
二次元累積和
n以下の素数の個数を高速に求めるクラス
n以下の整数に対して素因数分解可能なテーブルを作成するクラス
n以下の整数について素数判定をするテーブルを作成するクラス エラトステネスの篩
引数を四つ持てるFunctionインターフェース
Range Add Range Min 区間加算, 区間最小値
Range Add Range Max 区間加算, 区間最大値
Range Add Range Sum 区間加算, 区間和
Range Add Range Sum 区間加算, 区間和 RangeBITを使うような問題で二分探索を求められた場合はこちら
再帰ラムダ式が書けるBiConsumerインターフェース
再帰ラムダ式が書けるBiFunctionインターフェース
再帰ラムダ式が書けるBinaryOperatorインターフェース
再帰ラムダ式が書けるBiPredicateインターフェース
再帰ラムダ式が書けるConsumerインターフェース
再帰ラムダが書けるDoubleBinaryOperatorインターフェース
再帰ラムダ式が書けるDoubleConsumerインターフェース
再帰ラムダが書けるDoubleFunctionインターフェース
再帰ラムダ式が書けるDoublePredicateインターフェース
再帰ラムダが書けるDoubleUnaryOperatorインターフェース
再帰ラムダ式が書けるFunctionインターフェース
再帰ラムダが書けるIntBinaryOperatorインターフェース
再帰ラムダ式が書けるIntConsumerインターフェース
再帰ラムダが書けるIntFunctionインターフェース
再帰ラムダ式が書けるIntPredicateインターフェース
再帰ラムダが書けるIntUnaryOperatorインターフェース
再帰ラムダが書けるLongBinaryOperatorインターフェース
再帰ラムダ式が書けるLongConsumerインターフェース
再帰ラムダが書けるLongFunctionインターフェース
再帰ラムダ式が書けるLongPredicateインターフェース
再帰ラムダが書けるLongUnaryOperatorインターフェース
再帰ラムダ式が書けるPredicateインターフェース
再帰ラムダ式が書けるTriConsumerインターフェース
再帰ラムダ式が書けるTriFunctionインターフェース
再帰ラムダ式が書けるTriPredicateインターフェース
再帰ラムダ式が書けるUnaryOperatorインターフェース
Range Update Range Min 区間更新, 区間最小値
Range Update Range Max 区間更新, 区間最大値
Range Update Range Sum 区間更新, 区間和
強連結成分分解(Strongly Connected Components)
セグメント木
SegmentTreeBeats!
最短路クラス
なんですかこれは 最小有向全域木を求める際に使うクラス 中身はよくわかっていない
 
SparseTable
完備辞書
接尾辞配列
引数を三つ持てるConsumerインターフェース
引数を三つ持てるFunctionインターフェース
引数を三つ持てるPredicateインターフェース
Undo可能なUnionFind [注意] verifyしていない
UnionFind
便利なメソッド集 Pairクラス以外の外部クラス不使用
ここではUtilityクラスのメソッドをクラス宣言なしで使える
WaveletMatrix
 
重みつきUnionFind(PotentialつきUnionFind)
coreパッケージ以外の外部クラス(Pairを除くを使うメソッドが置いてある)
RASM, RUSMの時に使う Pairに似ているが出力がfirstの値のみになっている