左偏树
文章平均质量分 81
wang3312362136
这个作者很懒,什么都没留下…
展开
-
算法详解——左偏树
可并堆是啥给你两个优先队列,要你合并这两个优先队列,而且还要保证合并后符合优先队列的性质,时间复杂度要限制在log(s1+s2)log(s1+s2)\log (s_1+s_2)之内。怎么做?现在普通的堆已经满足不了要求了。这个时候,就要用一种神奇的数据结构:左偏树了。(二项堆,斐波那契堆不在本文的考虑范围内)左偏树顾名思义,左偏树就是一棵向左偏的树(逃我们定义一个...原创 2018-06-07 21:59:25 · 13119 阅读 · 5 评论 -
BZOJ 2809 [Apio2012]dispatching
题目链接https://www.lydsy.com/JudgeOnline/problem.php?id=2809思路显然,选取需要工资最少的几个人最优。枚举领导者的编号,问题就变成了求每个点的子树中工资kkk能满足多少员工了。很容易想到使用可并堆,如果选择建立小根堆会TLE,正解是选择建立大根堆,每次从这个点的子树中踢出需要工资最大的员工,如果被一个点的子节点踢出了,那么...原创 2018-06-07 22:14:41 · 146 阅读 · 0 评论 -
BZOJ 4003 [JLOI2015]城池攻占
题目链接https://www.lydsy.com/JudgeOnline/problem.php?id=4003思路左偏树,每个点建立一个小根堆,每次合并子树的骑士,把能攻占到某个节点的骑士中攻击力小于城池生命的pop掉,最后像线段树/splay一样给root打加/乘标记,注意合理使用long long。代码#include <cstdio>#inc...原创 2018-06-08 20:32:17 · 201 阅读 · 0 评论