堆
文章平均质量分 64
chenxiaoran666
人要有梦想,不然和咸鱼有什么区别!
展开
-
【杂题】黑匣子(堆的简单应用)
黑匣子 时间限制:1s 内存限制:128MB 问题描述 Black Box是一种原始的数据库。它可以储存一个整数数组,还有一个特别的变量i。最开始的时候Black Box是空的.而i等于0。这个Black Box要处理一串命令。 命令只有两种: ADD(x):把x元素放进BlackBox; GET:i加1,然后输出Blackhox中第i小的数。 记住:第i小的数,就是Black Bo...原创 2018-01-01 11:21:19 · 1437 阅读 · 1 评论 -
【POJ3253】Fence Repair(合并果子的翻版)
题面:【POJ3253】Fence Repair 考虑到每一次切割所花费的代价是所切割的木板的长度,那我们就可以反向思考,合并两块木板所花费的代价是这两块木板的长度和,那么问题就转化为了将输入中给出的N块木板给两两合并在一起。于是,我们会惊奇地发现这道题其实就是合并果子的翻版,一道用小根堆来优化的贪心题! 当然了,手打堆是比较麻烦的,相比之下,C++自带的优先队列就好用多了。代码见下: #...原创 2018-04-14 13:50:56 · 243 阅读 · 0 评论 -
【BZOJ1029】[JSOI2007] 建筑抢修(堆优化贪心)
点此看题面 大致题意:有N个受到严重损伤的建筑,对于每个建筑,修好它需要T1秒,且必须在T2秒之前修完(T1与T2不是固定值),问你最多能修好几个建筑。 一看到这题,就能想到一个贪心的做法。 但是,裸贪心显然是不能过的,如果加上一个堆优化,就能够水过此题。 我们可以把修好每个建筑所需的时间放入大根堆中存储。对于每一个建筑,若能在规定时间内修好,则将ans加1,否则比较修好它所需的时间与堆顶...原创 2018-07-20 21:46:43 · 203 阅读 · 0 评论 -
【CF799B】T-shirt buying(一道很水的小根堆)
点此看题面 大致题意:有n件T恤衫,告诉你每件T恤衫的价格以及它正面和反面的颜色(1≤颜色的编号≤3),现在有m个顾客,已知每个人想要的衣服的颜色(一件T恤衫只要有一面的颜色满足他的需求即可),请你求出每个人所需支付的最低价格(一件T恤衫只能被买一次)。 由于这道题的颜色最多只有3种,因此,我们只要开3个小根堆来存储每种颜色的衣服的价格和编号(价格为第一关键字)即可。 由于每件衣服只能被买一...原创 2018-07-20 22:19:59 · 684 阅读 · 0 评论 -
【BZOJ2006】[NOI2010] 超级钢琴(堆+RMQ)
点此看题面 大致题意:要你求出区间和前kkk大的区间的区间和之和,其中每个区间的大小在LLL与RRR之间。 这道题目,我们可以先对1∼n1∼n1\sim n中的每一个iii求出区间[i+L−1,min(i+R−1,n)][i+L−1,min(i+R−1,n)][i+L-1,min(i+R-1,n)]中的一个位置sss,使得对于任意一个j∈[i+L−1,min(i+R−1,n)]j∈[i+L−1...原创 2018-08-03 20:06:04 · 372 阅读 · 0 评论 -
【洛谷2085】最小函数值(堆)
点此看题面 大致题意:给你NNN个形如Fi(x)=Aix2+Bix+Ci(x∈N∗)Fi(x)=Aix2+Bix+Ci(x∈N∗)F_i(x)=A_ix^2+B_ix+C_i(x∈N^*)的函数,请你求出所有函数的所有函数值中最小的前mmm个值。 最暴力的解法 显然,我们可以发现...原创 2018-08-21 19:11:03 · 518 阅读 · 0 评论 -
【BZOJ1216】[HNOI2003] 操作系统(堆+模拟)
点此看题面 大致题意:有nnn个任务,每个任务有4个属性:编号、到达时间、执行时间和优先级。每个单位时间,会执行一个优先级最高(若有多个优先级最高的,就先执行到达时间较早的)的任务,请你按完成的顺序输出每个任务的编号以及相应的完成时间。...原创 2018-08-21 19:53:40 · 288 阅读 · 0 评论