~~又是一个学数据结构学傻了的人~~ ~~才不会承认是看到Splay,觉得可以写平衡树才进来的呢~~ Description: 给出一个序列,问排序后,选取两个区间,使其没有重合部分,且每个区间右端点减去左端点不大于k,求这两个区间长度之和的最大值。 前置技能:FHQ Treap、线段树 ~~(不会 ...
分类:
其他好文 时间:
2019-05-03 18:23:03
阅读次数:
123
五一 DAY 6 TypeName 类型名 VariableName 变量名 函数库:# include < utility > Pair 定义一个变量,它有两个元素 :pair.first pair.scecond, 这两个元素的类型可以不同 (类似于结构体) 函数库:#include < str ...
分类:
其他好文 时间:
2019-05-03 14:32:02
阅读次数:
132
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3196 题面; 3196: Tyvj 1730 二逼平衡树 Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2. ...
分类:
其他好文 时间:
2019-04-25 23:59:29
阅读次数:
247
思路 直接使用FHQ Treap维护即可 代码 cpp include include include using namespace std; struct Node{ int lson,rson,val,ran,sz,inv; }FHQ[100100]; int Nodecnt=0,a[1001 ...
分类:
其他好文 时间:
2019-04-15 18:17:06
阅读次数:
184
用途 平衡树(可实现区间翻转) 原理 和treap一样,中序遍历表示权值的顺序,并且每个点有一个随机的附加值,形成一个堆来保证复杂度 但是不旋转,所有操作通过split和merge实现 分为两种split:按权值和按排名 代码 luogu3369 普通平衡树 ...
分类:
其他好文 时间:
2019-04-13 10:40:34
阅读次数:
134
这里给出博主的几种平衡树模板代码 vector 代码: Treap: Splay 替罪羊树 FHQ treap ...
分类:
其他好文 时间:
2019-04-07 14:31:34
阅读次数:
107
笛卡尔树的节点具有两个属性:键值与权值。 中序遍历每个节点,则其键值递增。任意一个父亲的权值都一定大于(小于)其儿子的权值。 由此可知,笛卡尔树的键值具有二叉搜索树的性质,权值具有堆的性质。Treap就是实现了一棵笛卡尔树。 笛卡尔树一般是根据序列建立的,一般以序列下标为键值,序列中的数为权值。 它 ...
分类:
其他好文 时间:
2019-03-29 13:21:09
阅读次数:
159
学了一下,好像明白了(背下来了) 不想写main函数了 PS:这个比treap好写(私以为) ...
分类:
其他好文 时间:
2019-03-26 16:47:05
阅读次数:
162
1 #ifndef FHQTREAP_H_INCLUDED 2 #define FHQTREAP_H_INCLUDED 3 4 //author Eterna 5 #define Hello The_Cruel_World! 6 #pragma GCC optimize(2) 7 #include< ...
分类:
其他好文 时间:
2019-03-16 16:49:46
阅读次数:
133