Splay模板 1.0
1 struct Splay{ 2 int rt,sz; ///根节点,树节点总数 3 int va[N],son[N][2],fa[N];///值,左右儿子,父亲 4 void spin(int t){ ///旋转操作 5 int x=fa[t], f=fa[x], y=son[x][1]==t; 6 son[x][y]=son[t][y^1], fa[son[x][y]]=x; 7 son[t][y^1]=x, fa[x]=t, fa[t]=f; 8 if(f) son[f][son[f][1]==x]=t; 9 } 10 void play(int x){ /// splay操作 11 for(int i;i=fa[x];spin(x)) 12 if(fa[i]) 13 spin((x==son[i][0])==(i==son[fa[i]][0])?i:x); 14 rt=x; 15 } 16 void ins(int v){///插入元素 17 int y,x=rt; 18 while(1){ 19 y=son[x][va[x]<v]; 20 if(!y){ 21 y=++sz, va[y]=v, fa[y]=x; 22 son[y][0]=son[y][1]=0; 23 son[x][va[x]<v]=y; 24 break; 25 } 26 x=y; 27 }play(y); 28 } 29 int suc(){ ///找后继 30 int x=rt,y=son[x][1]; 31 while(son[y][0])y=son[y][0]; 32 return va[y]; 33 } 34 int pre(){ ///找前驱 35 int x=rt,y=son[x][0]; 36 while(son[y][1])y=son[y][1]; 37 return va[y]; 38 } 39 void init(int x){ ///初始化,需要初始值 40 sz=rt=1;va[rt]=x; 41 fa[1]=son[1][0]=son[1][1]=0; 42 } 43 }splay;
转载于:https://www.cnblogs.com/Kurokey/p/5939339.html
Splay模板 1.0相关推荐
- [洛谷P3391] 文艺平衡树 (Splay模板)
初识splay 学splay有一段时间了,一直没写...... 本题是splay模板题,维护一个1~n的序列,支持区间翻转(比如1 2 3 4 5 6变成1 2 3 6 5 4),最后输出结果序列. ...
- excel进度条与百分比不符_Excel项目管理模板V2.0
Excel表哥公众号推送的第一篇文章 如何用Excel制作一个高逼格的项目管理模板 累积获得了超多的下载量. 下面是和读者朋友的一些交流互动: 在使用过程中大家陆续也反馈了一些问题和建议.因此我们推出 ...
- wordpress瀑布流图片主题PhotoBroad模板V2.0
PhotoBroad是一款来简单好用且比较经典的wordpress图片主题,主题采用瀑布流式布局,设计清新简洁,适合做美图分享网站.主题特点:Tags:瀑布流式布局,wordpress图片主题,两列, ...
- OKR测试试卷模板(0基础)
此试卷适合0基础测试. 满分为100分,测试时间15-20min左右,具体题型设置为:判断题.单选题.多选题. OKR测试试卷模板(0基础) 一.判断题(共6题,每题5分,总分30分) OKR 是英文 ...
- Templates for MS Word by GN Mac(MS Word模板) v5.0.5破解版
Templates for MS Word by GN Mac 破解版是一款提供超过3000个MS Word模板的模板集软件,包含信件,小册子,书籍等各类模板选择,整个设计范围满足您多样化的需求,并具 ...
- 伸展树 Splay 模板
学习Splay的时候参考了很多不同的资料,然而参考资料太杂的后果就是模板调出来一直都有问题,尤其是最后发现网上找的各种资料均有不同程度的错误. 好在啃了几天之后终于算是啃下来了. Splay也算是平衡 ...
- 【BZOJ - 3224】普通平衡树(Splay模板题)
题干: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最 ...
- Splay(splay模板)
题目描述 给定一个长度为 n 的整数序列,初始时序列为 {1,2,-,n−1,n}. 序列中的位置从左到右依次标号为 1∼n. 我们用 [l,r] 来表示从位置 l 到位置 r 之间(包括两端点)的所 ...
- 模板1.0 -- 模板基本原理
为什么需要模板 我们经常有这样的一种使用的情形,就是我们可能需要设计一个函数,然后函数的参数可能是整形的,也可能是浮点型的,还有可能是其他的类型的,这个时候如果对于每一个类型都写一个函数,未免有点太复 ...
- zabbix 3.2 mysql模板_Zabbix-3.0.3使用自带模板监控MySQL
导读 Zabbix是一款优秀的,开源的,企业级监控软件,可以通过二次开发来监控你想要监控的很多服务,本文介绍使用Zabbix自带的模板监控MySQL服务. 配置userparameter_mysql. ...
最新文章
- 公司目前实行的git团队协作方案
- struct file 结构体
- 【LeetCode】【HOT】226. 翻转二叉树(递归)
- java中几种Map在什么情况下使用,并简单介绍原因及原理
- iperf3使用方法说明
- java liveness_并发 - 活跃度(Liveness) - 《Java 编程要点(Essential Java)》 - 书栈网 · BookStack...
- DownloadHelper使用教程
- 会计准则中借方与贷方如何理解分析
- 计算机安全应急演练简报,开封市网络安全应急演练表彰大会在计算机与信息工程学院举行...
- 移动app html手势实现的,移动app交互设计:如何把“手势流”装进手机
- android office转pdf,怎么把安卓手机的PDF转换成Word?3款实用工具分享
- 曾经无数人在巴黎圣母院里祈祷, 如今轮到人们为她祈祷了…
- 英语中谓语与表语关系
- 关于VS 2013连接Microsoft Access 2013的相关问题
- 好记星不如烂笔头!就从今天开始吧~
- Java毕设项目大型商场应急预案管理系统(java+VUE+Mybatis+Maven+Mysql)
- 投行女自述:我的投行生涯
- Qt常用控件介绍(一)
- Latex图的caption太长,导致信息丢失该怎么办,Latex 图注太长 无法显示
- 双录、可回溯政策再升级,元核云音视频产品护航金融交易合规高效