左偏树
616156
赛高______↑
展开
-
【总结】可并堆(左偏树)总结
简介 堆:可以查找集合最大值,支持插入元素,以及删除最大元素。 可并堆就在此基础上,支持快速合并两个集合的操作。 左偏树 首先,定义外节点为:其右儿子为空的节点。 定义距离为每个点到其子树中最近外接点的距离。 现在保证左儿子的距离值必须 不小于 右儿子的距离值。 这样,就能保证每个点往右走,走到叶子节点的步数不超过log(n)log(n)log(n)步,其中nnn表示这个节点的子树大小。 支持的...原创 2019-01-18 16:41:56 · 208 阅读 · 0 评论 -
【图论】K短路(可并堆)
分析: 反向建一颗最短路树(即根节点时目标节点) 每条非最短路径,一定可以表示为一些非树边的有序集合。 然后可以通过依次拓展的方式,来得到第K大。 每次拓展有两种方式(假设最后一条非树边为[u,v]): 1、把最后一条边替换为:从u到根的路径上,比其大的最小的非树边。 2、把v到根的路径上最小的一条非树边加在序列最后。 实现可以用可持久化可并堆完成。 例题:HDU5960 #include<...原创 2019-01-18 16:55:08 · 664 阅读 · 0 评论