競技プログラミングに使えそうなC++のSTLをまとめる
Pairについて
今度書きます。
std::Setについて
概要
setは順序付き集合。同じ値は保持しない。データの追加、削除、検索はO(logN)。重複はなく、キーに対して自動でソートされてデータが保持される。
準備
setを使用するためには
#include <set>
を記述する必要がある。
例
#include <bits/stdc++.h> using namespace std; int main() { set<int> s; s.insert(2); //データの追加はO(logN) s.insert(10); s.insert(6); s.insert(100); s.erase(100); //データの消去はO(logN) auto itr = s.find(10); //値を検索。値が獣所付き集合に含まれないときはend()を返す。O(logN) cout << "10:" << s.count(10) << endl; //値の個数を返す。setは重複がないので1又は0のみ。O(logN) cout << "100:" << s.count(100) << endl; cout << "size:" << s.size() << endl; //集合に含まれる要素の個数を返す。 }