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相关推荐

  1. [洛谷P3391] 文艺平衡树 (Splay模板)

    初识splay 学splay有一段时间了,一直没写...... 本题是splay模板题,维护一个1~n的序列,支持区间翻转(比如1 2 3 4 5 6变成1 2 3 6 5 4),最后输出结果序列. ...

  2. excel进度条与百分比不符_Excel项目管理模板V2.0

    Excel表哥公众号推送的第一篇文章 如何用Excel制作一个高逼格的项目管理模板 累积获得了超多的下载量. 下面是和读者朋友的一些交流互动: 在使用过程中大家陆续也反馈了一些问题和建议.因此我们推出 ...

  3. wordpress瀑布流图片主题PhotoBroad模板V2.0

    PhotoBroad是一款来简单好用且比较经典的wordpress图片主题,主题采用瀑布流式布局,设计清新简洁,适合做美图分享网站.主题特点:Tags:瀑布流式布局,wordpress图片主题,两列, ...

  4. OKR测试试卷模板(0基础)

    此试卷适合0基础测试. 满分为100分,测试时间15-20min左右,具体题型设置为:判断题.单选题.多选题. OKR测试试卷模板(0基础) 一.判断题(共6题,每题5分,总分30分) OKR 是英文 ...

  5. Templates for MS Word by GN Mac(MS Word模板) v5.0.5破解版

    Templates for MS Word by GN Mac 破解版是一款提供超过3000个MS Word模板的模板集软件,包含信件,小册子,书籍等各类模板选择,整个设计范围满足您多样化的需求,并具 ...

  6. 伸展树 Splay 模板

    学习Splay的时候参考了很多不同的资料,然而参考资料太杂的后果就是模板调出来一直都有问题,尤其是最后发现网上找的各种资料均有不同程度的错误. 好在啃了几天之后终于算是啃下来了. Splay也算是平衡 ...

  7. 【BZOJ - 3224】普通平衡树(Splay模板题)

    题干: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最 ...

  8. Splay(splay模板)

    题目描述 给定一个长度为 n 的整数序列,初始时序列为 {1,2,-,n−1,n}. 序列中的位置从左到右依次标号为 1∼n. 我们用 [l,r] 来表示从位置 l 到位置 r 之间(包括两端点)的所 ...

  9. 模板1.0 -- 模板基本原理

    为什么需要模板 我们经常有这样的一种使用的情形,就是我们可能需要设计一个函数,然后函数的参数可能是整形的,也可能是浮点型的,还有可能是其他的类型的,这个时候如果对于每一个类型都写一个函数,未免有点太复 ...

  10. zabbix 3.2 mysql模板_Zabbix-3.0.3使用自带模板监控MySQL

    导读 Zabbix是一款优秀的,开源的,企业级监控软件,可以通过二次开发来监控你想要监控的很多服务,本文介绍使用Zabbix自带的模板监控MySQL服务. 配置userparameter_mysql. ...

最新文章

  1. 公司目前实行的git团队协作方案
  2. struct file 结构体
  3. 【LeetCode】【HOT】226. 翻转二叉树(递归)
  4. java中几种Map在什么情况下使用,并简单介绍原因及原理
  5. iperf3使用方法说明
  6. java liveness_并发 - 活跃度(Liveness) - 《Java 编程要点(Essential Java)》 - 书栈网 · BookStack...
  7. DownloadHelper使用教程
  8. 会计准则中借方与贷方如何理解分析
  9. 计算机安全应急演练简报,开封市网络安全应急演练表彰大会在计算机与信息工程学院举行...
  10. 移动app html手势实现的,移动app交互设计:如何把“手势流”装进手机
  11. android office转pdf,怎么把安卓手机的PDF转换成Word?3款实用工具分享
  12. 曾经无数人在巴黎圣母院里祈祷, 如今轮到人们为她祈祷了…
  13. 英语中谓语与表语关系
  14. 关于VS 2013连接Microsoft Access 2013的相关问题
  15. 好记星不如烂笔头!就从今天开始吧~
  16. Java毕设项目大型商场应急预案管理系统(java+VUE+Mybatis+Maven+Mysql)
  17. 投行女自述:我的投行生涯
  18. Qt常用控件介绍(一)
  19. Latex图的caption太长,导致信息丢失该怎么办,Latex 图注太长 无法显示
  20. 双录、可回溯政策再升级,元核云音视频产品护航金融交易合规高效

热门文章

  1. 企业组织形态及财务报表
  2. 【图形学手记】蒙特卡洛积分
  3. Practical Node.js摘录(2018版)第1,2章。
  4. dot watch+vs code提升asp.net core开发效率
  5. my97中文乱码问题
  6. 转: utf16编码格式(unicode与utf16联系)
  7. iOS开发 -- 发送JSON数据给服务器
  8. godaddy虚拟主机access数据库中文乱码的解决方法
  9. 实践篇(1)--QPG之“打狗棍法”
  10. Java Try-with-resources