官方文档
堆
#include<ext/pb_ds/priority_queue.hpp>
using namespace __gnu_pbds;
__gnu_pbds::priority_queue<node,less<node>,pairing_heap_tag> pq;
join(), modify() , erase()
__gnu_pbds::priority_queue<int>::point_iterator it;
push()会返回迭代器
平衡树
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
tree<node,null_type,greater<node>,rb_tree_tag,tree_order_statistics_node_update> T;
rope
using namespace __gnu_cxx;
rope<int> r;
push_back(x) 在末尾添加x
insert(pos,x) 在pos插入x
erase(pos,x) 从pos开始删除x个
replace(pos,x) 从pos开始换成x
substr(pos,x) 提取pos开始x个
at(x)/[x] 访问第x个元素