![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Treap
qq_38232157
这个作者很懒,什么都没留下…
展开
-
洛谷 P2286 [HNOI2004]宠物收养场 (treap 树)
treap 树 本题要点: 1、建立两棵 treap 树, 一棵用来存 宠物,一棵树用来存 顾客。 题目给出的所有的顾客值和宠物值都不一样。 这样结构体 Treap 只需要 多一个 size 来就来子树的节点总数 2、套用 treap 树 的模板,写好 以下函数。 因为是两棵树,需要传参数的引用。 int New(int val, Treap* a, int& tot) void update(int p, Treap* a) void Build(Treap* a, int& tot,原创 2020-09-21 12:04:45 · 153 阅读 · 0 评论 -
洛谷 P2234 [HNOI2002]营业额统计(算法竞赛进阶指南,平衡树)
算法竞赛进阶指南,238页,平衡树 本题要点: 1、该天的最小波动值=min{|该天以前某一天的营业额-该天营业额|}。 每天的最小波动值, 实际就是改天的营业额 cur 和之前的所有营业额一起排序,计算出 cur 与相邻两个营业额 之间的差值的较小值,就是 该天的最小波动值 2、平衡树容易满足,每天的营业额 income 插入到这颗 平衡树中,计算出 income 的前驱 pre 和后继 next, 该天的最小波动值 = min( abs(income - pre), abs(income, next))原创 2020-06-25 23:59:59 · 329 阅读 · 0 评论 -
洛谷 P3369 【模板】普通平衡树(算法竞赛进阶指南,普通平衡树,模板 )
算法竞赛进阶指南,238页,普通平衡树,模板 本题要点: 1、设计普通普通平衡树的,增加,删除,左旋,右旋,前驱,后继,按值查排名, 按排名查询值 等等操作。 2、代码抄书上的,作为模板参考。 #include <cstdio> #include <cstring> #include <iostream> #include <cstdlib> using namespace std; const int MaxN = 100010; int tot, root原创 2020-06-25 20:34:30 · 147 阅读 · 0 评论