2012年9月13日
摘要: ac了想了好久的题,真心高兴,虽然运行有点慢,但却是用c自己写的堆,代码很短;思路:维护两个堆,一个小顶堆用于存储所给数列最大的一部分,一个大顶堆用于存储所给数列剩下的最小一部分。运行过程:7 4 3 1 -4 2 8 -1000 2 1 2 6 6当输入1时,我们将3压入存储较大值的小顶堆中,判断存储较小值的大顶堆堆顶为NULL,则直接将3从小顶堆中取出,压入大顶堆,更新两个堆,输出大顶堆堆顶的值。当输入2时,我们将1压入存储较大值的小顶堆中,判断存储较小值的大顶堆堆顶为不为空,并且小顶堆的堆顶1<3,则我们将1和3互换,从而保证小顶堆始终存储较大的,大顶堆始终存储较小的。因为到了区间 阅读全文
posted @ 2012-09-13 17:21 BFP 阅读(365) 评论(0) 推荐(0) 编辑