博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3196 二逼平衡树 ——树套树
阅读量:5805 次
发布时间:2019-06-18

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

【题目分析】

    全靠运气,卡空间。

    xjb试几次就过了。

【代码】

#include 
#include
#include
#include
#include
using namespace std;#define maxn 200005#define mlog 16#define inf 0x3f3f3f3f#define maxm 4000005#define F(i,j,k) for (int i=j;i<=k;++i)int ch[maxm][2],fa[maxm],siz[maxm],v[maxm],num[maxm],n,m,rt[maxn*5],a[maxn];int L,R,X,C,tot,Pre,Nxt,opt,ans,k,aim;void update(int k){siz[k]=siz[ch[k][0]]+siz[ch[k][1]]+num[k];}int ins(int &k,int fat){ if (!k){k=++tot;num[k]=siz[k]=1;v[k]=C;fa[k]=fat;ch[k][0]=ch[k][1]=0;return k;} siz[k]++; if (C==v[k]) {num[k]++;return k;} else if (C
>1; splay(ins(rt[o],0),rt[o]); if (l==r) return; if (X<=mid) add(o<<1,l,mid); else add(o<<1|1,mid+1,r);}void qrk(int k){ if (!k) return; if (v[k]
>1; if (L<=mid) queryrk(o<<1,l,mid); if (R>mid) queryrk(o<<1|1,mid+1,r);}void qpr(int k){ if (!k) return; if (v[k]>=C) return qpr(ch[k][0]); else{Pre=max(Pre,v[k]); return qpr(ch[k][1]);}}void querypr(int o,int l,int r){ if (L<=l&&r<=R){qpr(rt[o]);return;} int mid=l+r>>1; if (L<=mid) querypr(o<<1,l,mid); if (R>mid) querypr(o<<1|1,mid+1,r);}void qnt(int k){ if (!k) return; if (v[k]<=C) return qnt(ch[k][1]); else{Nxt=min(Nxt,v[k]); return qnt(ch[k][0]);}}void querynt(int o,int l,int r){ if (L<=l&&r<=R){qnt(rt[o]);return;} int mid=l+r>>1; if (L<=mid) querynt(o<<1,l,mid); if (R>mid) querynt(o<<1|1,mid+1,r);}void del(int &k){ if (v[k]==C) { if (num[k]>1) { num[k]--; siz[k]--; splay(k,rt[aim]); return ; } else { if (ch[k][0]*ch[k][1]==0) { if ((!ch[k][0])&&(!ch[k][1])) {k=0;return;} if (!ch[k][0]) fa[ch[k][1]]=fa[k]; else fa[ch[k][0]]=fa[k]; k=ch[k][0]+ch[k][1]; return ; } else { int tmp=rand()%2; rot(ch[k][tmp],k); del(k); return ; } } } siz[k]--; if (v[k]

  

转载于:https://www.cnblogs.com/SfailSth/p/6399614.html

你可能感兴趣的文章
javaScript高阶级函数
查看>>
webpack系列-插件机制杂记
查看>>
Android技术栈总结
查看>>
18年总结
查看>>
【收藏干货】axios配置大全
查看>>
如何快速学习Java?
查看>>
91. Decode Ways
查看>>
219. Contains Duplicate II
查看>>
215. Kth Largest Element in an Array
查看>>
1154 Vertex Coloring (25 分)
查看>>
防抖动与节流
查看>>
JavaScript对象的深入理解(二)
查看>>
差分隐私学习总结
查看>>
【266天】跃迁之路——程序员高效学习方法论探索系列(实验阶段24-2017.10.29)...
查看>>
【自己读源码】Netty4.X系列(一) 启动类概览
查看>>
React全家桶框架兼容IE8教程
查看>>
Python学习小结---if语句
查看>>
处理for-in用在数组上时候出现的诡异现象的问题
查看>>
详解 Weex 页面的渲染过程
查看>>
关于javascript sort()排序的一点理解
查看>>