堆
Loi_black
这个作者很懒,什么都没留下…
展开
-
浅析堆
堆分为大根堆和小根堆两种,其存储方式是通过数组来实现的。这里我们只说一下小根堆。 对于一个小根堆,每个节点的左右儿子编号分别是当前节点编号*2,当前编号*2+1;利用一个数组,进行存储。图例如下 对于两个儿子,只需满足比他的父亲节点大(小根堆性质),两个儿子谁大谁小无所谓。讲一下堆的两个操作push 和poppush操作 对于每次读入,从堆的末尾插入元素。为了满足性质,每次读入后与其一层层原创 2016-07-26 21:20:58 · 420 阅读 · 6 评论 -
洛谷P1631 序列合并
题目描述 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个。 输入输出格式 输入格式: 第一行一个正整数N; 第二行N个整数Ai,满足Ai<=Ai+1且Ai<=10^9; 第三行N个整数Bi, 满足Bi<=Bi+1且Bi<=10^9. 【数据规模】 对于50%的数据中,满足1<=原创 2016-11-13 19:51:59 · 488 阅读 · 0 评论 -
【HNOI 2003】洛谷P2278 操作系统
题目描述写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。除非在这个过程中,有一个比它优先级高的进程要运行。在这种情况下,这个新的(优先级更高的)进程会占用CPU,而老的只有等待。如果一个进程到达时,CPU正在原创 2016-11-14 07:25:07 · 489 阅读 · 0 评论