左偏树是用来快速地合并堆的 正常的堆是一颗完全二叉树,我们用笨方法去合并它: 假设我们要将x和y这两个小根堆合并,我们判断一下如果x的堆顶大于y的堆顶,就交换一下x和y,然后继续合并x的某个子孩子和y。 堆被人们所推广的原因就是因为它的时间复杂度比较稳定,根本原因是堆是一颗完全二叉树 但显然的:这样 ...
分类:
其他好文 时间:
2019-11-01 20:12:50
阅读次数:
85
因为也是昨天刚接触左偏树,从头理解,如有不慎之处,跪请指教。 左偏树: 什 么是(fzy说)左偏树啊? 前置知识: 左偏树中dist:表示到右叶点(就是一直往右下找,最后一个)的距离,特别的,无右节点的为0。 堆:左偏树是个堆。 关于左偏性质:可以帮助堆合并(研究深了我也不懂的,看代码理解) 对于任 ...
分类:
其他好文 时间:
2019-10-29 17:04:37
阅读次数:
107
[哈夫曼树][1] [2 sat问题][2] [线性代数基础][3] [矩阵和行列式基础][4] [可并堆1][5] [可并堆2][6] [概率与期望概念][7] [Kruskcl重构树1][8] [Kruskcl重构树2][9] [匈牙利算法][10] [带权并查集][11] [C++参考手册][ ...
分类:
其他好文 时间:
2019-10-08 22:26:03
阅读次数:
110
传送门:https://www.luogu.org/problem/P3377 左偏树:左偏!也就是下面这种左边大,右边小的树 可并堆:可以合并的堆(堆:维护最值的数据结构) 核心(细节): 先来代码 在合并时,往右子树走,当发现右边的值不合法时,则另另一个堆的值来swap 以最大值为例: 当发现x ...
分类:
其他好文 时间:
2019-10-08 22:23:45
阅读次数:
84
最短路 单源最短路(1~n) 2.快速幂和快速乘 3.二分 4.高精度 高精度减法 高精度乘法 5.欧几里得(辗转相除) 6.左偏树 (P3377 【模板】左偏树(可并堆)) 100.乱七八糟的东西 ...
分类:
其他好文 时间:
2019-10-04 15:15:47
阅读次数:
78
一、左偏树的性质 左偏树,又称可并堆,所以他有堆的性质。 定义几个量:valval表示该节点的值,fafa表示该节点的父亲,ch[2]ch[2]表示该节点的两个儿子(因为他是二叉树),disdis表示这个节点到离他最近的叶子节点的距离。 性质一:该节点的val不大于该节点左右儿子的val 证明:堆。 ...
分类:
其他好文 时间:
2019-10-04 11:49:45
阅读次数:
93
因为限制了编号,所以直接逆序就是自底而上,然后就是树形DP合并节点了,然后用可并堆贪心的删除节点,每次更新节点答案 ...
给一棵 N 个点的树,每个点有一个权值,求每个点的子树中有多少个点的权值比它大。 考虑线段树合并,将权值离散化,每个点开一棵权值线段树。 求答案时直接在权值线段树上查询,线段树合并时类似于可并堆。 要注意的是线段树要动态开点,合并时别忘了 up。 内存什么的最好算一下,数组别开小了。 1 #incl ...
分类:
其他好文 时间:
2019-08-30 09:52:54
阅读次数:
96
Description 烟花表演是最引人注目的节日活动之一。在表演中,所有的烟花必须同时爆炸。为了确保安 全,烟花被安置在远离开关的位置上,通过一些导火索与开关相连。导火索的连接方式形成 一棵树,烟花是树叶,如[图1]所示。火花从开关出发,沿导火索移动。每当火花抵达一个分 叉点时,它会扩散到与之相连 ...
分类:
其他好文 时间:
2019-08-19 15:55:53
阅读次数:
107
Description 题解 论文题 (戳我) 代码 ...
分类:
其他好文 时间:
2019-08-19 09:52:04
阅读次数:
73