luogu P3369 模板普通平衡树(Treap/SBT) 题解 pb_ds
Posted misakaazusa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu P3369 模板普通平衡树(Treap/SBT) 题解 pb_ds相关的知识,希望对你有一定的参考价值。
我永远都爱STL ! 我爱PB_DS !
#include <iostream>
#include <cstdio>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
typedef long long ll;
tree<ll,null_type,std::less<ll>,splay_tree_tag,tree_order_statistics_node_update> st;
int main()
{
int m;
ll ans, x, y;
scanf("%d",&m);
for(int i = 1; i <= m; i++)
{
scanf("%lld%lld",&x,&y);
if(x == 1) st.insert((y<<20)+i);
else if(x == 2) st.erase(st.lower_bound(y<<20));
else if(x == 3) printf("%d
",st.order_of_key(y<<20)+1);
else {
if(x == 4) ans = *st.find_by_order(y-1);
if(x == 5) ans = *--st.lower_bound(y<<20);
if(x == 6) ans = *st.lower_bound((y+1)<<20);
printf("%lld
",ans>>20);
}
}
return 0;
}
其实还可以用set,vector做...
我永远都喜欢stl
以上是关于luogu P3369 模板普通平衡树(Treap/SBT) 题解 pb_ds的主要内容,如果未能解决你的问题,请参考以下文章
替罪羊树 ------ luogu P3369 模板普通平衡树(Treap/SBT)
luogu P3369 模板普通平衡树(Treap/SBT)
数组splay ------ luogu P3369 模板普通平衡树(Treap/SBT)
[luogu P3369]模板普通平衡树(Treap/SBT)