随笔分类 - 平衡树
摘要:题目传送门 平衡树的题。 因为题目给出条件(其实自己也知道):同一时间呆在收养所中的,要么全是宠物,要么全是领养者,这些宠物和领养者的个数不会超过10000个。 所以只要维护一颗平衡树,它的里面要不全是人,要不全是宠物。 找到人的前驱后继比较。 code:
阅读全文
摘要:题目传送门 借这道题练一下Treap和Splay的板子。 code: #include <cstdio> #include <cstdlib> using namespace std; int read() { char c;while(c=getchar(),(c<'0'||c>'9')&&c!=
阅读全文
摘要:例题传送门 听YZ哥哥说Splay是一种很神奇的数据结构,所以学习了一下它的最基本操作。O(1)的Spaly。 伸展树(Splay Tree),也叫分裂树,是一种二叉排序树,它能在O(logn)内完成插入、查找和删除操作。它由丹尼尔·斯立特Daniel Sleator和罗伯特·恩卓·塔扬Robert
阅读全文
摘要:题目传送门 平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1
阅读全文
摘要:题目传送门 分析题意可得,希望求与每个数最相近的数。 二叉搜索树的简单题,因为可能被卡成O(N),考虑平衡树。 因为Treap较简单,此处用Treap编写代码。 code:
阅读全文