![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
堆
文章平均质量分 62
常与贪心结合
wind__whisper
qwq
展开
-
P3644 [APIO2015]八邻旁之桥(中位数、堆)
堆原创 2022-06-06 15:56:06 · 115 阅读 · 0 评论 -
模板:k短路(可并堆)
k短路原创 2022-02-24 10:04:01 · 158 阅读 · 0 评论 -
P3545HUR-Warehouse Store&P4053建筑抢修(反悔贪心、堆)
解析两道很像的题不能说相似,只能说是一模一样感觉有火车载客的影子想到开个堆来维护在供不应求时弹出要求最高的即可T1还得输出方案针麻烦代码#include<bits/stdc++.h>const int N=3e5+100;const int M=2e3+100;const int mod=1e9+7;#define ll long long#define ull unsigned long long#define debug(...) fprintf(stderr,原创 2021-11-18 21:07:43 · 346 阅读 · 0 评论 -
P3642 [APIO2016]烟火表演(左偏树、函数)
解析感觉是左偏树的神题了.首先有一个比较显然的结论,一个合法的方案中,两个叶子到它们 lca\text{lca}lca 的距离必须相等.考虑设计 dp\text{dp}dp :fi,xf_{i,x}fi,x 表示 iii 的子树中,所有叶子到它的距离为 xxx 的最小代价.考虑这个函数如何向父亲合并.设一个结点到父亲的距离为 cic_ici .朴素 dp\text{dp}dp ,就有:fi,x=∑j∈soniminv≥0xfj,x−v+∣cj−v∣f_{i,x}=\sum_{j\in原创 2021-11-15 10:41:42 · 166 阅读 · 0 评论 -
洛谷P6302:回家路线(斜率优化)
解析《论什么是合理的实现》本题dp的斜率式子还是不难恶心在其他地方由于不能时光倒流,新点必须在q时间后再插入因此我们开一个堆来按找q升序排列,算完一个点就塞到堆里,每次把当前可以插入的点一起弹出来插入一个重要的技巧是只存储火车的编号,就可以很阳间的使用宏定义vector虽然不能popfront,但是可以把begin给erase掉一定要记得判断分母的符号!!!代码#include<bits/stdc++.h>using namespace std;const int N原创 2021-10-28 18:19:50 · 162 阅读 · 0 评论 -
YBTOJ&洛谷P4331:数字序列(左偏树)
文章目录题目描述数据范围解析代码题目描述数据范围n<=1e6n<=1e6n<=1e6解析先考虑简单情况如果原数列是单调递增的,显然应该使bi=aib_i=a_ibi=ai如果单调递减,应该取中位数那么原数列如果分成单调递减的几段,那么每一段都取中位数使最好的但是这样会有非法的情况,因为中位数不一定单调递增所以我们把中位数递减的区间合并,再求大区间的中位数即可那么怎么快速维护合并区间中位数呢?主席树最棒了考虑对每个区间建一个堆,pop掉一半的元素,这样堆顶就是原创 2021-09-28 19:28:06 · 83 阅读 · 0 评论 -
模板:左偏树
文章目录解析定义:左偏树的基本性质基本结论操作合并访问与删除堆顶元素插入元素批量插入删除已知元素所谓左偏树,就是往左偏的树下面介绍一下它的一个兄弟:《右偏树》(逃)解析所谓左偏树,确实就是往左偏的树它舍弃了平衡的性质,使这个堆在合并时变得极为高效所以又叫做可并堆定义:外结点 :左儿子或右儿子是空结点的结点。距离 : 一个结点 x 的距离 dist(x)定义为其子树中与结点 x 最近的外结点到 x 的距离。特别地,定义空结点的距离为 -1 。左偏树的基本性质左偏树具有堆性原创 2021-09-27 09:31:08 · 316 阅读 · 0 评论 -
内存管理(ybtoj-二叉堆)
文章目录题目描述解析题目描述解析原创 2021-05-29 21:58:36 · 120 阅读 · 0 评论 -
火车载客(ybtoj-二叉堆)
文章目录题目描述解析我的思路代码题解思路题目描述解析我的思路其实就是线段覆盖的一个变体贪心的想:把游客按右端点升序排序后面的证明就和线段覆盖一样了如果有两个游客冲突我们应该选右端点靠右的因为这样对以后继续在右边出现的游客来说肯定不会更差然后就是对于能否上车的判断其实就是一个对区间的修改与最大值查询就非常自然的想到了线段树时间复杂度:nlogn代码#include<bits/stdc++.h>using namespace std;#define ll lon原创 2021-05-29 00:34:54 · 149 阅读 · 4 评论 -
选数游戏(ybtoj-二叉堆)
文章目录题目描述解析题目描述解析一道很考验代码能力与思维的题(我不是在为自己的菜找理由)首先由于可以每一列都有类似于环的性质所以我们可以忽略点的纵坐标从前往后枚举选点结束的位置首先每个列都得...原创 2021-05-28 16:14:13 · 334 阅读 · 2 评论