摘要: P3066 逃跑的Barn 左偏树 "题面" 题意:给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于l的点有多少个。 注意到答案的两个性质: 一个点的所有答案一定 包含 在其所有儿子的答案中 如果节点$i​$当前满足条件,那么所有距离(相对于根节点)比它小的节点当前也都满足(所以建个大 阅读全文
posted @ 2019-06-17 15:28 Santiego 阅读(113) 评论(0) 推荐(0) 编辑
摘要: P1552 [APIO2012]派遣 "题面 " 考虑枚举每个节点作为管理者,计算所获得的满意程度以更新答案。对于每个节点的计算,贪心,维护一个大根堆,每次弹出薪水最大的人。这里注意,一旦一个人被弹出,那么不再可能出现在其祖先们的最优解里(~~废话~~),所以使用可并堆左偏树优化复杂度。 cpp i 阅读全文
posted @ 2019-06-17 13:47 Santiego 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 左偏树总结 左偏树 一种合并复杂度为$O(log_2^n)$的 可并堆 具有左偏性质,左子树距离大于右子树距离,即$dis[ls]\ge dis[rs]$(这里一个点的距离定义为子树中离他最近的外节点到这个节点的距离,~~其实不需要纠结这个~~) 我们合并时每次将当前节点的右儿子和另一个堆的堆顶合并 阅读全文
posted @ 2019-06-17 13:40 Santiego 阅读(197) 评论(0) 推荐(0) 编辑