堆与优先队列
programmy
本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、PS等软件的安装与卸载,精通CSS、JavaScript、PHP、C、C++、C#、java、Ruby、Perl、Lisp、python、Objective-C、ActionScript等单词的拼写,熟悉windows、Linux、Mac、Android、IOS等系统的开关机。欢迎各大公司HR与本人联系。
展开
-
POJ 2442 Sequence(堆的应用)
poj 2442题目大意 给出m行n列,每行选一个数组成一个和,有nmn^m个结果,问前n小的和是哪些. 分析【超内存】一开始想的思路是以一个和作为元素用优先队列,感觉思路还是比较巧妙,有点类似于dijkstra。先把每一行排序,每行的第一个元素组成的和一定是最小的,通过改变最小的和中某个数(将它右移一位)可以得到n个新的数,将这些数加入优先队列,每次选择优先队列里最小的和来进行上述的操作。这样原创 2016-09-02 22:37:54 · 575 阅读 · 0 评论 -
POJ 1442 Black Box(大根堆小根堆)
题目大意 题目大意: 给定一个集合,有两种操作,插入一个数和查询集合中第i小的数,i每次查询一次前自增1,初始为0. 给出两种操作如下:( ADD GET ) 分析我们在每一次查询之前维护一个大根堆和一个小根堆,大根堆中元素个数个数为i,表示当前前i小的元素是哪些。剩下的数放在小根堆中。这样每次查询就只用返回大根堆堆顶元素了。在插入一个元素时,先放入小根堆,然后取出小根堆的最小元素原创 2016-09-06 21:12:09 · 457 阅读 · 0 评论