
堆
ssl_fuyang
ヾ(◍°∇°◍)ノ゙
展开
-
序列合并【堆】【数论】
>Linkybtoj序列合并luogu P1631>解题思路A和B是已经从小到大排好序的,但是如果将所有N2N^2N2个和放进堆再一个个推出堆顶,显然是不行的我们发现如下规律:A1+B1≤A1+B2≤…≤A1+BNA_1+B_1≤A_1+B_2≤…≤A_1+B_NA1+B1≤A1+B2≤…≤A1+BNA2+B1≤A2+B2≤…≤A2+BNA_2+B_1≤A_2+B_2≤…≤A_2+B_NA2+B1≤A2+B2≤…≤A2+BN………………………………AN原创 2021-07-05 11:42:48 · 183 阅读 · 0 评论 -
合并果子【堆】
>Linkybtoj合并果子luogu P1090>解题思路堆排序,维护一个小根堆,每次选择最小的两个合并,再将合并后的加入堆>代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#define N 10010using namespace std;priority_q原创 2021-07-05 10:30:31 · 206 阅读 · 0 评论 -
畜栏预定【贪心】【堆】
>Linkybtoj畜栏预定>解题思路>代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#define N 50010using namespace std;struct node{ int l, r, id;} a[N];struct tree{ int原创 2021-01-08 20:48:29 · 236 阅读 · 0 评论 -
奶牛晒衣服【贪心】【堆】
>Linkybtoj奶牛晒衣服>解题思路每一个单位时间每件衣服都干aaa点湿度,所以可以先不用管自然干,我们考虑烘干,为了使最后用的时间最少,每次选取的衣服一定是所有衣服中最湿的那一件这样我们枚举每一个单位时间,对当前湿度维护一个大根堆,每次取堆顶烘干>代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#includ原创 2021-01-03 16:24:22 · 166 阅读 · 0 评论 -
剑与魔法(dragons)【贪心】【堆】
>Description万老师听说某大国很流行穿越,于是他就想写一个关于穿越的剧本。闲话休提。话说老师穿越到了某一个剑与魔法的大陆。因为如此这般,所以老师从维娜艾那里得到了预言。老师一共被告知了若干件按顺序结算的事件。这些事件分为两类:战役事件(CASE)、穿越回去事件(END)。战役事件可以选择是否参加,参加了之后会获得一定的金钱。每个END事件发生需要至少参加一定数量的战役事件。特别的是,END事件如果满足要求就会强制发生。老师希望在大陆玩个够,所以他要求只有最后一个END事件会发生。老师希望原创 2020-09-12 15:51:40 · 138 阅读 · 0 评论 -
Leopard学霸【贪心】【堆排序】
>Description每门功课都耗费1单位时间来学习,从0时刻开始,有1000000000个单位时间。在任意时刻,都可以任意一门功课(编号1~n)来学习。对于第i门功课,有一个截止时间Di,若学完这门功课,就能够获得知识Pi。在给定的功课和截止时间下,能够获得的知识最多为多少呢?>Input第一行,一个整数n,表示功课的数目接下来n行,每行两个整数,Di和Pi>...原创 2019-08-24 16:04:19 · 274 阅读 · 0 评论 -
合并果子【堆排序】
>Description果子按不同种类分成了不同的堆,需要把所有的果子合成一堆。 每一次把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。例如有3种果子,数目依次为1,2,9。可以先将...原创 2019-07-10 19:42:56 · 729 阅读 · 7 评论 -
单纯堆排序【堆排序】
&gt;Description用堆排序从小到大排序一行数。&gt;解题思路堆排,又是zzl大佬教我做的。&gt;代码#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std;int n,a[2200005],t,c;void原创 2019-01-25 17:09:58 · 214 阅读 · 0 评论 -
旅行【图论】【堆】
>Description>Input>Output>Sample Input5 61 2 31 3 42 4 22 5 3>Sample Output4>解题思路由题意得,此无向图可以看做成一棵树,如:求某两点的最短路代价,通过推算得出(题目中的加加减减),a ~ b = a ~ 1(根节点) + 1 ~ b,并且第一个符号与最后一个符号肯定都为加因为题目要求的路径的条数必须为奇数,所以符合条件的路径必须是从偶数层出发到达奇数层原创 2020-08-11 21:05:16 · 124 阅读 · 0 评论 -
我的世界【图论】【拓扑排序】【堆】
>Description>Input>Output>Sample Input43 11 24 2>Sample Output3 2 4 1>解题思路输出样例其实是A从小到大对应的序号,a3<a2<a4<a1 比赛的时候没看懂TT我们会发现,对于一个节点的对应矿洞,对应矿洞的对应矿洞也同样是这个节点,也就是说,所有矿洞2个一组,每组中每个矿洞的对应矿洞是对方所以我们可以从叶子节点开始搜起,因为叶子节点只有一条边,连原创 2020-08-22 21:32:56 · 206 阅读 · 0 评论