数据结构——平衡树
HARD_UNDERSTAND
Just try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Treap入门题
Treap可以说是最简单的平衡树了,核心是利用随机数,使得二叉排序树的各种操作复杂度平均为O(lgn),写起来也是相当简单。 主要功能有:Struct Tree{ int key, size, fa, son[2];}void Rotate(int x, int p); //0左旋 1右旋void Insert(int x,int key) //插入key void Remove(int x原创 2016-09-21 12:24:19 · 798 阅读 · 0 评论 -
bzoj 1208 宠物收养所 Splay入门
Splay伸展树,十分强大的数据结构,学习了好几天,可是做题还是很难独立敲出来QAQ 感谢:http://blog.youkuaiyun.com/crazy_ac/article/details/8034264 此篇文章的作者,代码风格我感觉灰常好! 等我熟练掌握了,我也写篇总结~~题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1208 题意:原创 2016-09-26 22:13:35 · 600 阅读 · 0 评论 -
bzoj 1503 郁闷的出纳员 Splay入门
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1503 题意: 写一种数据结构,支持以下几种操作: I 命令 新建一个工资档案,初始工资为 k。 如果某员工的初始工资低于工资下界,他将立刻离开公司。 A 命令 把每位员工的工资加上 k S 命令 把每位员工的工资扣除 k F 命令 查询第 k 多的工资分析:原创 2016-09-26 22:48:33 · 329 阅读 · 0 评论 -
bzoj 3224: Tyvj 1728 普通平衡树 (Splay模板)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3224 题意: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(原创 2016-09-26 23:02:51 · 363 阅读 · 0 评论 -
hdu 1890 Robotic Sort (Splay区间翻转)
普通的平衡树操作还是Treap更加简单点,但是Splay强大的一个地方就是对区间的操作,可以做一下线段树搞不定的东西~~题目:http://acm.hdu.edu.cn/showproblem.php?pid=1890 题意: 区间翻转,使得所给序列有序,问所需要的翻转长度的和?分析: 我们每次可以先将“最小”的点旋转到根,那么根左边的区间自然就是要翻转的区间了,于是我们对根左边的区间打原创 2016-09-27 14:57:18 · 452 阅读 · 0 评论
分享