• 2024-07-01可并堆
    左偏树(LeftistTree)定义外节点:只有一个儿子或没有儿子的节点。距离:一个节点到离他最近的外节点的距离,即两节点之间的路径权值和。特别地,外节点的距离为\(0\),空节点的距离为\(-1\).左偏树:满足如下性质的二叉树:堆性质:任何节点的权值小于等于儿子节点的权值,即\(val_{fa_i}
  • 2024-06-01左偏树
    前言左偏树是一种可并堆,顾名思义,它支持快速合并。定义定义外界点为孩子数量小于等于\(2\)个的节点,\(dis(u)\)表示节点\(u\)到最近的外节点经过的边数减\(1\)。特别的,空节点的\(dis\)为\(-1\)。定义节点\(u\)权值为\(val(u)\),左、右儿子分别为\(ls(u),rs(u)\)。左
  • 2024-03-19【博客】左偏树
    左偏树前言左偏树是一棵向左偏的树左偏树是一种能在\(O(\logn)\)之内完成合并的可并堆长这样我们常用左偏树完成以下操作在指定集合中插入一个元素查询集合中最高优先级的元素删除集合中最高优先级的元素删除指定元素合并两个集合性质首先我们要知道左偏树的
  • 2024-02-24左偏树
    左偏树是一种可并堆(一系列的堆),支持以下操作:删除一个堆的最值。查询一个堆的最值。新建一个堆,只包含一个元素。合并两个堆。这个复杂度是\(O(\log)\)的。左偏树是一颗二叉树。定义“外结点”为儿子数量不等于\(2\)的结点,定义每个结点的\(dist\)为该结点到最
  • 2024-02-111~2 月冬眠
    1月末到2月有点喜欢睡觉了。好多东西都没学,好多东西都不会。这是我认为比较好的资源:inWCACAM还没看/ng/lhPAMathome(alloiwiki/kx)GFtreap左偏树虚树圆方树hibernatingSAM(感觉很多都写得好长……)tobecontinued...
  • 2024-02-03寒假day2 2.3 ds
    讲师:杨宁远,NOI2022Au,rk20,from成都七中DSlistauto定义指针。*i访问元素。prev(i)next(i)访问前驱、后继的值。rbrgenrend含义相反。frontback放回头元素和尾元素。insert(iterator,value),会在迭代器前插入元素。erase(iterator),删除元素。a.swap(b):O(1)merge
  • 2024-02-01可并堆
    可并堆:一种支持插入、删除、修改、删除任意一个元素、求\(\min\)还有合并的数据结构。下面的只讲可并堆中的一种:左偏树。左偏树是二叉树,但并不是完全二叉树。它满足两个性质:①每个结点的权值都小于等于儿子。②每个结点\(dist(L)\gedist(R)\),\(L,R\)分别是该结点的左右儿
  • 2023-12-012023年12月1日总结
    更好地观看总结今天是12月的第一天!美丽,晶莹的冬天!今天早上起来把昨天那道ULR#1】光伏元件给改了。这里说几点要注意的地方。建模网上都有,也比较典型,这里就不说了。就是这道题我先写了原始对偶,没过,然后写ssp,还是没有过。然后我开始怀疑人生了?后来我发现,对于上下界相等的边,就
  • 2023-12-01左偏树/可合并堆
    左偏树/可合并堆代码笔记代码思路主体部分:合并堆(即merge函数)大堆左偏,把小堆和大堆的右儿子合并。感性理解:堆的形态将比较平衡。辅助部分:并查集维护堆关系简化部分:自定义数据类型(structBheap)注意事项:堆的最大数量是\(n+m\)注意考虑堆被删空等细节情况(尤其是题目
  • 2023-11-07左偏树/可并堆
    20231107左偏树/可并堆将左偏树/可并堆做一个小结,不写我可能就要忘了。。。左偏树,顾名思义,就是保证左子树深度一定大于右子树,同时需要满足堆的性质,于是在合并两个堆的时候的时间复杂度就为\(\logn\),感觉是非常易懂的,具体实现的细节还是有一些。注意我们会用到并查集和
  • 2023-11-07偏态分布(Skewed distribution)
    频数分布有正态分布和偏态分布之分。正态分布是指多数频数集中在中央位置,两端的频数分布大致对称。偏态分布是指频数分布不对称,集中位置偏向一侧。若集中位置偏向数值小的一侧,称为正偏态分布;集中位置偏向数值大的一侧,称为负偏态分布。如果频数分布的高峰向左偏移,长尾向右侧延伸称
  • 2023-10-13数据结构——左偏树/可并堆学习笔记
    引入作为树形数据结构的一员——堆,对于取极值拥有着优秀的复杂度,但是,合并两个堆却成为了一个问题。除了朴素算法外,还有什么算法可以合并两个堆呢?正文那么,可并堆是个啥呢?简单来说,它是一个支持合并操作的二叉堆(好像是废话)。首先,简单介绍一下二叉堆的性质,学过的读者可自行跳过。
  • 2023-07-28【学习笔记】左偏树
    左偏树属于可并堆的一种,可并堆,也就是可以在较低的时间复杂度下完成对两个堆的合并。定义及性质对于一棵二叉树,定义外节点为左儿子或右耳子为空的节点,定义其的\(dist\)为\(1\),而不是外节点的\(dist\)为其到子树中最近的外节点距离\(+1\)。空节点的\(dist\)为\(0\)。例
  • 2023-07-05左偏树
    模板: #include<bits/stdc++.h>usingnamespacestd;constintMAXN=1e5+10;intn,m,heap[MAXN];intfa[MAXN],ls[MAXN],rs[MAXN],dis[MAXN];booldel[MAXN];intfind(intx){returnx==fa[x]?x:fa[x]=find(fa[x]);}intMerge(int
  • 2023-06-122023/6/12日学习笔记
    堆在STL中可以用优先队列来构造使用堆std::priority_queue<int,std::vector<int>>q;//大根堆std::priority_queue<int,std::vector<int>,std::greater<int>>q;//小根堆push()     将元素插入优先队列。pop()      将优先级最顶层的元素从
  • 2023-06-11左偏树
    左偏树左偏树是一种可以让我们在\(O(\logn)\)的时间复杂度内进行合并的堆式数据结构。为了方便以下的左偏树为小根堆来讨论。定义外结点:左儿子或者右儿子是空节点的结点。距离:一个结点\(x\)的距离\(dis[x]\)定义为其子树中与结点\(x\)最近的外结点到\(x\)的距离
  • 2023-05-19【P4331 [BalticOI 2004]】Sequence 数字序列 题解(左偏树维护动态区间中位数)
    左偏树维护动态区间中位数。传送门P4331BalticOI2004Sequence数字序列。Solution1我的思路和题解前半部分完全重合了((如果按照单调不增去分割\(a\)序列的话,对于每一段我们能很简单地得出它的最佳答案:中位数。发现严格单调很难做,很难拿捏,考虑对\(a\)序列的每一项都进
  • 2023-04-22左偏树学习笔记
    一、前言左偏树是一种可以在\(O(\logn)\)内快速合并的堆式数据结构。具体来说,插入一个元素:\(O(\logn)\)。查询最值:\(O(1)\)。删除最值:\(O(\logn)\)。合并:\(O(\logn)\)。减少一个元素的值:\(O(\logn)\)。同时它可以持久化。二、定义外节点:左儿子或者右儿子为空的
  • 2023-04-14总结与归纳之数据结构
    (开一个大坑)前言总论正文基础数据结构栈队列链表数据哈希(这也基础?)并查集传统+基础变种并查集可持久化并查集单调栈/队列ST表树状数组线段树传统线段树李超线段树segbeats主席树动态开点与标记永久化线段树分裂与合并线段树分治平衡树传统平衡树可持久化
  • 2023-04-06洛谷P1552 [APIO2012] 派遣 题解 左偏树
    题目链接:https://www.luogu.com.cn/problem/P1552题目大意:每次求子树中薪水和不超过\(M\)的最大节点数。解题思路:使用左偏树维护一个大根堆。首先定义一个Node的结构体:structNode{ints[2],c,sz,dis;longlongsum;Node(){};Node(int_c){s
  • 2023-04-04洛谷 P3377 【模板】左偏树(可并堆)题解 左偏树模板题
    题目链接:https://www.luogu.com.cn/problem/P3377维护左偏树的同时还需要维护一个并查集。但是并查集也就一个find操作。pop的时候更新f[x]的操作很神奇。示例程序:#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+5;intn,m,op,x,y,val[m
  • 2023-03-08【理论】左偏树笔记
    左偏树是可并堆的一种实现方法。左偏,很容易形象地理解它是什么意思。但对于一棵树,如何用形象和具体化的语言来描述左偏性质?考虑定义\(dis_i\)表示\(i\)的子树中最近
  • 2023-03-05左偏树(可并堆)
    左偏树(可并堆)左偏树与配对堆一样,是一种可并堆,具有堆的性质,并且可以快速合并。一种\(O(\log_2n)\)内合并的数据结构。左偏树是一棵二叉树,它不仅具有堆的性质,并且是「左
  • 2023-02-21「复习」春季联赛 2023
    我尽量做到不口胡。毕竟要比赛了。左偏树、(可持久化)可并堆link笛卡尔树主要是想复习一下板子,思想也挺常见的。笛卡尔树要去重。(?)P4755BeautifulPair一眼笛卡尔
  • 2023-02-19左偏树
    参考:bilibili可并堆优先队列的缺点:无法高效合并两个堆左偏树节点中的数字是它的键值,而它是个堆,因此它满足堆的性质:节点的键值小于左右子节点的键值节点外蓝色数字叫