题目描述 Description
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。
每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。
因为还要花大力气把这些果...
分类:
其他好文 时间:
2015-05-04 18:11:57
阅读次数:
93
优先队列是堆排序的一个具体应用。
优先队列分为如下几个操作:
1.INSERT(S,x)把元素x插入到优先队列中。
2.MAXIMUM(S):返回s中具有最大关键字的元素。
3.EXTRACT_MAX(S):去掉S中最大关键字的元素
4.INCREASE_KEY(S,x,k):将元素x的关键字值增加到k,k是不小于x的元素。
优先队列的应用:
1.共享计算机系统的作业调度。最大优先队...
分类:
编程语言 时间:
2015-05-04 10:05:49
阅读次数:
187
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1026
Ignatius and the Princess I
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 13944 ...
分类:
其他好文 时间:
2015-05-03 13:27:20
阅读次数:
143
优先队列
优先队列是一种抽象数据类型(Abstract Date Type,ADT),行为和队列类似,但是先出队的元素不是先进队列的元素,而是队列中优先级最高的元素。
STL的优先队列定义在头文件和 (队列一样),用"priority_queuepq"来声明;
最基本的用法
定义:priority_queuepq;...
分类:
其他好文 时间:
2015-05-03 12:07:25
阅读次数:
233
题意:最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。游戏规则很简单,用箭杀死免子即可。箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 2 #include 3 #include 4 #include 5 #include 6 ....
分类:
其他好文 时间:
2015-05-03 10:32:53
阅读次数:
99
拓扑排序【模板】1.普通判断拓扑排序、输出路径:queue Q
2.满足字典序的拓扑排序:priority_queue<int,vector, greater > Q;
保证了权值小的优先级高,取出的时候保证序号是队列中最小的。
3.满足最小的尽量在前面(不保证是字典序):priority_queue Q;反向建图,用优先队列存储将入度为0的点,再遍...
分类:
编程语言 时间:
2015-05-03 00:51:30
阅读次数:
257
分别基于邻接表和邻接矩阵,采用优先队列高效实现Dijkstra最短路径算法。
Dijkstra练习题库...
分类:
其他好文 时间:
2015-05-02 16:40:49
阅读次数:
202
合并果子Time Limit:1 SecMemory Limit:128 MBSubmit:312Solved:113[Submit][Status][Web Board]Description现在有n堆果子,第i堆有ai个果子。现在要把这些果子合并成一堆,每次合并的代价是两堆果子的总果子数。求合并...
分类:
其他好文 时间:
2015-05-01 22:33:38
阅读次数:
201
用优先队列扫一次得到大于和小于中位数的总和的最小值,再扫一遍得到最优解#include#include#include#include#include#include#define INF 0x3fffffffusing namespace std;typedef long long ll;int ...
分类:
其他好文 时间:
2015-05-01 17:19:36
阅读次数:
109
题意:n*m的迷宫,从(0,0)到(n-1,m-1),遇到怪物停留怪物所在方格中的数字个单位时间,求最短时间并打印路径;思路:用bfs先搜最短路,搜最短路时一定要用优先队列,不然结果不对;在通过保存上一步的方法保存路径,到达终点时,将路径查询出来,遇到怪物是位置不变;#include#include...
分类:
其他好文 时间:
2015-05-01 17:16:29
阅读次数:
129