摘要: 输入: N=4,L=25,P=10 A={10,14,20,21} B={10,5,2,4} 输出: 2 (在第1个和第2个加油站加油) 1.如果优先队列也是空的,则无法到达终点. 2.否则取出优先队列中的最大元素,并用来给卡车加油. 1 int L,P,N; 2 int A[MAX],B[MAX] 阅读全文
posted @ 2016-03-05 16:39 Vmetrio 阅读(809) 评论(0) 推荐(0)
摘要: 堆的两种操作所花的时间都和树的深度成正比.因此,如果一共有n个元素,那么每个操作可以在O(logn)时间内完成. 堆的实现 1.左儿子的编号是自己的编号*2+1 2.右儿子的编号是自己的编号*2+1 push和pop的实现: 1 int heap[MAX],sz=0; 2 3 void push(i 阅读全文
posted @ 2016-03-05 11:41 Vmetrio 阅读(2282) 评论(0) 推荐(0)