博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fhq_treap || BZOJ 3224: Tyvj 1728 普通平衡树 || Luogu P3369 【模板】普通平衡树
阅读量:4709 次
发布时间:2019-06-10

本文共 1098 字,大约阅读时间需要 3 分钟。

题面:

代码:

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 inline int rd(){ 7 int x=0,f=1;char c=getchar(); 8 while(c<'0'||c>'9'){
if(c=='-')f=-1; c=getchar();} 9 while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();}10 return f*x;11 }12 const int maxn=(2e5)+50;13 int N,chd[maxn][3],a,o,val[maxn],rt,x,y,z,g,pr[maxn],tot=0,siz[maxn]; 14 inline int New_node(int a){15 val[++tot]=a;16 pr[tot]=rand();17 siz[tot]=1;18 return tot;19 }20 inline void Pushup(int a){21 siz[a]=siz[chd[a][0]]+siz[chd[a][1]]+1;22 return;23 }24 inline void Split(int now,int k,int &x,int &y){25 if(!now){x=y=0; return;}26 if(val[now]<=k){27 x=now;28 Split(chd[now][1],k,chd[now][1],y);29 }30 else{31 y=now;32 Split(chd[now][0],k,x,chd[now][0]);33 }34 Pushup(now);35 return;36 }37 inline int Merge(int a,int b){38 if(!a||!b)return (a+b);39 if(pr[a]

By:AlenaNuna

转载于:https://www.cnblogs.com/AlenaNuna/p/10919888.html

你可能感兴趣的文章
数据结构-静态链表
查看>>
【Unity游戏开发】你真的了解UGUI中的IPointerClickHandler吗?
查看>>
线性求逆元模板
查看>>
线段树练习3 codevs1082
查看>>
Mysql 复制的常用拓扑结构概览
查看>>
ECSHOP中 {insert name='ads' id=$ads_id num=$ads_num}含义
查看>>
SQLite3 安装、基本操作
查看>>
MSIL解析一(转)
查看>>
redis-cluster
查看>>
eclipse常用快捷键整理
查看>>
android context详解
查看>>
Android 4.4 外置卡
查看>>
Lua 模块引入中 import 和 require 的差异
查看>>
js模块加载详解
查看>>
.net别样外观控件包DotNetBar
查看>>
C++ 对象间通信框架 V2.0 ××××××× 之(二)
查看>>
js禁止原生手机返回键(物理返回键)
查看>>
接口测试的两种方法(转自 http://www.blogjava.net/qileilove/archive/2012/05/31/379631.html )...
查看>>
20172328《程序设计与数据结构》第七周学习总结
查看>>
Android中内容观察者的使用---- ContentObserver类详解
查看>>