policy-based data structure の tree
gcc (g++) の policy-based data structure の中にある tree (の競技プログラミングでの利用) に関する記事です. リンク Policy-based Data Structure (GCC online docs) Codeforces admant's blog まとめ 以下の操作ができる set や map x を指定して,x より小さい要素がいくつあるか数える n を指定して,n 番目に小さい要素へのイテレータを取得する 先頭部分 #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; 型の定義 例: pair<int, int> の集合 注意: multiset ではない.multiset は PBDS にはない.multiset を使いたいときには pair の set で第2要素でユニークにすることを検討. using elem_tp = pair<int, int>; // ここを,要素の型にする using pbds_set = tree< elem_tp, null_type, less<elem_tp>, rb_tree_tag, tree_order_statistics_node_update >; 例: string から int へのマップ using key_tp = string; // ここを,キーの型にする using val_tp = int; // ここを,値の型にする using pbds_map = tree< key_tp, val_tp, less<key_tp>, rb_tree_tag, tree_order_statistics_node_update >; 注意: key_t は <sys/types....