![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
#无旋Treap
Daniel__d
这个作者很懒,什么都没留下…
展开
-
LOJ6109-可持久化无旋Treap
LOJ6109 题目描述 题解 代码 #include<bits/stdc++.h> #define LL long long #define M 30000009 using namespace std; int read(){ int f=1,re=0; char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';ch=g...原创 2020-07-27 21:18:18 · 151 阅读 · 0 评论 -
P5494-线段树合并与分裂/无旋Treap
P5494 题目描述 题解 代码 无旋Treap #include<bits/stdc++.h> #define int long long #define M 700009 using namespace std; int read(){ int f=1,re=0;char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';c...原创 2020-03-29 10:10:43 · 360 阅读 · 0 评论 -
无旋Treap的可持久化
无旋Treap的可持久化 解析 其实FHQTreapFHQ TreapFHQTreap的可持久化非常好理解,只需要的每次操作的rtrtrt用数组记录下来,然后操作时,节点新建即可 模板题 P3835 注意操作细节 注意数组大小 注意rand()rand()rand()的值域 代码 #include<bits/stdc++.h> #define int long long #define...原创 2020-03-29 10:39:20 · 136 阅读 · 0 评论 -
无旋Treap--FHQ Treap
无旋Treap 解析 FHQTreapFHQ TreapFHQTreap和普通的TreapTreapTreap都是一个二叉搜索堆,其同时满足二叉树的性质(左子树的权值小于等于当前节点权值,右子树权值大于当前节点权值)和堆的性质(对于小根堆,当前节点的优先级是堆中最小的)。 优点: 1,代码实现简单 2,可以实现可持久化 核心操作(以下均为小根堆) 初始化 我常用数组写法 int val[M],po...原创 2020-03-29 10:40:59 · 129 阅读 · 0 评论