**题目大意** 有一个黑盒子(Black Box)很神奇,可以获取其中第i小的元素。题目中有两种操作分别为ADD 和 GET,ADD操作序列为A,GET操作序列为u,GET初始值 i 为0,每次进行GET操作后 i 值加1。输出每次的第i小的值为多少。 **解题思路** 优先队列的简单应用,维护两个堆,一个大顶堆,一个小顶堆,将前u(p)个数据先加入小顶堆中,每次读取一个u(p)元素就将小顶堆的堆顶元素加入大顶堆中,当向小顶堆加入元素时要加入判断,判断小顶堆堆顶是否大于大顶堆堆顶,若否,则将两个堆顶元素互换。 **代码**
POJ 1442 Black Box
最新推荐文章于 2020-02-12 13:15:46 发布