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 · 180 阅读 · 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 · 372 阅读 · 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 · 154 阅读 · 0 评论