左偏树
Eirlys_North
这个作者很懒,什么都没留下…
展开
-
左偏树详解
//本文转自:这里2.1.2 可并堆的定义可并堆(Mergeable Heap)也是一种抽象数据类型,它除了支持优先队列的三个基本操作(Insert, Minimum, Delete-Min),还支持一个额外的操作——合并操作:H ← Merge(H1,H2)Merge( ) 构造并返回一个包含H1和H2所有元素的新堆H。 O(n),用它来实现可转载 2016-11-16 21:49:29 · 715 阅读 · 0 评论 -
左偏树模板【pascal】
var n,m,x,t,root,size:longint; i :longint; l,r,dis,key :array[0..1000010] of longint;procedure swap(var a,b:longint);var c:longint;begin c:=a;原创 2016-11-16 21:51:23 · 469 阅读 · 0 评论 -
bzoj 1455 洛谷 P3377 左偏树+并查集
bzoj 1455题意:n个人,每个人有一个分数,每个人都是一个独立的团,有两种操作: 1、M x y,在x和y都是活的前提下,把x所在团和y所在团合并,否则忽略此操作 2、K x 在x是活的的前提下,把x所在团分数最小的人杀死,并输出该人分数,若x已经死亡则输出0显然,用并查集维护团的信息,每次只删除分数最小的人,并涉及合并,妥妥的左偏...原创 2017-02-09 22:38:10 · 434 阅读 · 0 评论 -
bzoj 2809 左偏树
题意:给定一棵n个点的树,每个点有各自的代价和价值,对以每个点为根的子树里最多能选多少点使得这些点的代价和不超过限制乍一看是维护代价小根堆,能选小的就选小的,然而复杂度原地爆炸那么换个角度,一开始对一个子树全选,最少丢弃多少点使得它们的代价和不超过限制显然是维护一个代价的大根堆我们就从下往上进行处理显然我们需要资磁合并、删除、快速找到代价最大的点显然左偏树uses ma原创 2017-04-18 08:13:16 · 484 阅读 · 0 评论