メモ:競プロで使う C++
- コンテナの要素数を とする
- コンテナ名は
d
とする
std::set
(#include <set>
)
動的集合で要素の検索,削除,挿入が 時間でできるコンテナ
・ d.lower_bound(x)
: 時間
以上となる最初の要素を指すイテレータを返す.存在しない場合は end
を返す.
・ d.upper_bound(x)
: 時間
より大きい最初の要素を指すイテレータを返す.存在しない場合は end
を返す.
・ d.erase(x)
: 時間
要素 を削除する.
・ d.erase(iter)
: 時間
イテレータ iter
が指す要素を削除する(注意.正しくないイテレータの場合はエラー).
・ d.erase(first, end)
: 時間( は区間の要素数)
イテレータ [first, end)
が指す要素を削除する.
std::tuple
(#include <tuple>
)
個組を表現するコンテナ(2個組 std::pair
の拡張)
- 型は異なっていても大丈夫(e.g.
tuple<int, double, string, std::vector<char>>
) - tuple の生成:
std::make_tuple(arg1, arg2, ...)
- 番目の要素への参照:
std::get<i>(d)
(,注意. はコンパイル時定数)