Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其 ...
洛谷模板题 一听左偏树这个名字就感觉左偏。。 左偏树是什么,好像就是个堆,大根堆或小根堆,可以支持合并,取堆顶元素,删除堆顶元素,插入元素的操作。 一些说明: 左偏树节点除了应有的东西,还有键值和距离,键值用于比较大小,距离是什么? 距离是这样定义的: 节点i称为外节点(external node) ...
分类:
其他好文 时间:
2017-04-17 15:43:34
阅读次数:
259
左偏树是可合并堆的一种实现方式,可合并堆还有其他实现方式比如斜堆,然而我这种蒟蒻只会写左偏树。 模板里的左偏树为大根堆,支持合并,查询堆顶和弹出堆顶操作,对于已经删除的位置,查询将返回-1,为了确保弹出的正常进行,模板里使用的并查集没有使用路径压缩,因此常数可能会比较大。 1 #include<st ...
分类:
其他好文 时间:
2017-04-14 22:02:33
阅读次数:
179
左偏树是一个堆,为了实现快速合并的操作,我们可以构造一颗二叉树,并且使右子树尽量简短 什么是左偏呢? 定义:一个左偏树的外节点是一个左子树为空或者右子树为空的节点,对于每一个点定义一个距离dist它为到它子树内外节点的最短距离。 一个合法的左偏树节点需要满足堆性以及它的右子树的dist比左子树的di ...
分类:
其他好文 时间:
2017-04-03 23:33:50
阅读次数:
192
题意:给定一个序列,求另一个不递减序列,使得Abs(bi - ai) 和最小。 析:首先是在每个相同的区间中,中位数是最优的,然后由于要合并,和维护中位数,所以我们选用左偏树来维护,当然也可以用划分树来做。 代码如下: ...
分类:
其他好文 时间:
2017-04-01 01:16:57
阅读次数:
238
Description 支持合并和求最小值。 Solution 可并堆-左偏树。 前几天随便看了一下...感觉也挺好写的... Code ...
分类:
其他好文 时间:
2017-03-14 16:31:03
阅读次数:
168
2809: [Apio2012]dispatching Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工 ...
1455: 罗马游戏 Description 罗马皇帝很喜欢玩杀人游戏。 他的军队里面有n个人,每个人都是一个独立的团。最近举行了一次平面几何测试,每个人都得到了一个分数。 皇帝很喜欢平面几何,他对那些得分很低的人嗤之以鼻。他决定玩这样一个游戏。 它可以发两种命令: 1. Merger(i, j)。 ...
分类:
其他好文 时间:
2017-01-18 10:46:53
阅读次数:
167