本機能は AtCoderLibrary ではなく C++標準ライブラリ std::multiset の移植です.
多重集合を表すクラスです.
- 定数個の要素の追加
- 特定の要素の個数
を
public Multiset()空の多重集合を作ります. 計算量
public MultiSet(List<T> list)listの各要素を持った多重集合を作ります. 計算量 $O(list.size())$
public void add(T elm, long amount)多重集合に要素elmをamount個加えます. 計算量 O(log N)
public void addOne(T elm)多重集合に要素elmを1個加えます. 計算量 O(log N)
public void removeOne(T elm)多重集合から要素elmを1個取り除きます. 計算量 O(log N)
public void removeAll(T elm)多重集合から要素elmを全て取り除きます. 計算量 O(log N)
public static<T> Multiset<T> merge(Multiset<T> a, MMultiset<T> b)a と bの和集合となる多重集合を新たに構成して返します.