首先,我們需要匯入標頭檔案
#include <bits/extc++.h>
其次,我們需要匯入名字空間
using namespace __gnu_pbds;
然後我們就可以用pbds定義一個集合啦~
比如:tree<pair<int,int>,null_type,less<pair<int,int> >,rb_tree_tag,tree_order_statistics_node_update>s;
從左至右依次為:
- Key: 儲存的元素型別,因為集合中不能包含相同的元素,所以我們選擇pair<int,int>
- Mapped: 對映規則(Mapped-Policy)型別,透過使用null_type指示關聯容器是集合
- Cmp_Fn: 關鍵字比較函子
- Tag: 底層資料結構型別
- Node_Update:用於更新節點的策略,為了使用 order_of_key 和 find_by_order 方法,需要使用 tree_order_statistics_node_update