昇順(降順) $k$ 個の総和を効率良く求めるためのデータ構造です。
値の追加、削除、$k$ の変更ができます。
Constructors
new(tag :
Symbol, k :
Int, initial :
T =
T.zero)
SourceClass methods
max(k :
Int, initial :
T =
T.zero)
上位 $k$ 要素の総和を求めるためのデータ構造を構築します。
Sourcemin(k :
Int, initial :
T =
T.zero)
下位 $k$ 要素の総和を求めるためのデータ構造を構築します。
SourceInstance methods
add(x : T)
要素 $x$ をデータ構造に追加します。
計算量は $O(\log{n})$ です。
Sourcedelete(x : T)
要素 $x$ をデータ構造から削除します。
計算量は $O(\log{n})$ です。
Sourceempty?(*args, **options)
Sourceempty?(*args, **options, &)
Source$k$ の値を変更します。
計算量は $\Delta k \log{\Delta k}$
Sourcesize(*args, **options, &)
Source