左偏树 定义 左偏树(英语:leftist tree或leftist heap),也可称为左偏堆、左倾堆,是计算机科学中的一种树,是一种优先队列实现方式,属于可并堆,在信息学中十分常见,在统计问题、最值问题、模拟问题和贪心问题等等类型的题目中,左偏树都有着广泛的应用。斜堆是比左偏树更为一般的数据结构 ...
分类:
其他好文 时间:
2020-07-29 12:45:04
阅读次数:
87
题面 "LuoguP2483" 大意:给一张$n$个点,$m$条边的有向图,保证能从$1$号点到$n$号点,边有正实数边权$e_i$,路径权值为边权和。问从$1$号点到$n$号点最多能选多少条本质不同的路径,使得这些路径权值和不超过给定的$E$? $2\leq n\leq 5000,1\leq m\ ...
分类:
其他好文 时间:
2020-02-19 16:47:53
阅读次数:
80
「JSOI2011」任务调度 "传送门" 一开始还在想写平衡树,看到 $\text{TRANS}$ 操作后就晓得要用可并堆了。 这题好像就是个可并堆的板子题??? + 直接往对应的对里面加元素 + 在对应的堆里面找到这个元素,讨论一下它是不是根节点,然后抠出来重新加进去 + 合并两个堆 + 查堆顶的 ...
分类:
Web程序 时间:
2020-01-31 20:45:25
阅读次数:
89
[APIO2012]派遣 枚举所有忍者在哪棵子树内, 答案即为本子树内最多派遣的忍者数乘上子树根在原树中祖先最强的领导力, dfs用可并堆合并两棵子树即可, 这道题用不着用并查集维护连通性 ...
左偏树可以用来维护可并堆(并查集加堆) 可以用并查集一样的路径压缩来优化复杂度 路径压缩后$fa$记录的就不为其原树中的父亲,而是用来表示堆与堆之间的关系 $dis:$表示该节点到它子树内最近的叶子节点的距离 节点的左儿子的距离不小于右儿子的距离,每次合并时,将一棵树合并到另一棵树的右子树,来保证复 ...
分类:
其他好文 时间:
2020-01-22 21:47:25
阅读次数:
68
Description 有n个猴子,一开始每个猴子只认识自己。每个猴子有一个力量值,力量值越大表示这个猴子打架越厉害。如果2个猴子不认识,他们就会找他们认识的猴子中力量最大的出来单挑,单挑不论输赢,单挑的2个猴子力量值减半,这2拨猴子就都认识了,不打不相识嘛。现在给m组询问,如果2只猴子相互认识,输 ...
分类:
其他好文 时间:
2019-12-16 17:38:30
阅读次数:
113
采用了jls的左偏树写法,非常好写... 额外用一个并查集维护集合关系即可,注意路径压缩。 ...
分类:
其他好文 时间:
2019-11-26 13:55:30
阅读次数:
55
[TOC] CSP2019 J宝典 ——$Memory\_of\_winter$ 模板 博客 博客模板 "链接" ) 如平衡树,网络流,最短路,$\mathrm{LCT}$,$\mathrm{LCA}$,可并堆,$\mathrm{tarjan}$缩点,$\mathrm{ODT}$,$\mathrm{ ...
分类:
其他好文 时间:
2019-11-14 19:59:15
阅读次数:
137
主席树静态序列查区间第k大 struct tree{ int l,r,sum; }t[100010]; void change(int &now,int pre,int l,int r,int k){ now=++cnt; t[now]=t[pre]; t[now].sum++; int mid=( ...
分类:
其他好文 时间:
2019-11-03 18:43:33
阅读次数:
119