题意:
给一张无向图,中午12:00从0点出发(充满电,支持240分钟的路程),在每个点都能充电,充2分钟的电能跑1分钟,每条路按分钟分为若干个时间段,每个时间段内通过这条路的时间为ti,问到达n-1号点最少要多少时间。
分析:
BFS+优先队列。按时间优先出队,要注意将电量的存储*2(当然有其他方法),因为如果充电时间为奇数,用int存会丢失0.5。其次是要跑两个周期(两天)。判重的话有很多方法,较普遍的是开两维,位置和剩余电量,我的方法是开一维松弛,将电量化为0(x.time-x.power)。要小心的...
分类:
其他好文 时间:
2014-10-07 18:43:34
阅读次数:
239
包含向上、向下两种维护方向,方便手动维护堆中单个元素(STL的priority_queue和make_heap没有这种功能T_T)namespaceheap{#definep(x)((x)>>1)#definel(x)((x)structheap{Theap[maxn];intsize;bool(....
分类:
其他好文 时间:
2014-10-06 12:01:20
阅读次数:
123
这题好坑,卡SPFA。。。无奈只能用dij+优先队列了。 因为好久没有写过代码了,所以今天写dij时候突然觉得复杂度不对,dij+优先队列的复杂度是(n+m)logn,这种复杂度对于稠密图是非常慢!,而且还有超内存的可能(最坏情况要把n*n个点都存进优先队列),与我以前记得复杂度是nlogn不一样。...
分类:
其他好文 时间:
2014-10-05 13:25:48
阅读次数:
216
Full Tank?Time Limit:1000MSMemory Limit:65536KTotal Submissions:6326Accepted:2086DescriptionAfter going through the receipts from your car trip throug...
分类:
其他好文 时间:
2014-10-04 21:34:17
阅读次数:
159
思路:先把加油站按升序排列。
在经过加油站时,往优先队列里加入B[i].(每经过一个加油站时,预存储一下油量)
当油箱空时:1、如果队列为空(可以理解成预存储的油量),则无法到达下一个加油站,更无法到达目的地。
2、否则就取出队列里的最大元素,来给汽车加油(贪心思想)
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2014-10-03 20:13:15
阅读次数:
159
C - Hyperhuffman
Time Limit: 20000/10000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others)
SubmitStatus
Problem Description
You might have heard about Huffman encoding - tha...
分类:
其他好文 时间:
2014-10-03 19:54:25
阅读次数:
172
POJ 1862 & ZOJ 1543 Stripies(贪心 | 优先队列)...
分类:
其他好文 时间:
2014-10-02 21:01:43
阅读次数:
162
这题要注意 题目中的 each 这个字眼,所以有多个可能 'r'存在,所以从被救的人身上展开搜索比较简单.一开始不知道要使用优先队列,所以一开始是WA.优先队列的操作和队列相似,但是队列中的front()函数要用top()函数代替,其他的操作类似.#include#include#define ma...
分类:
其他好文 时间:
2014-10-02 18:27:13
阅读次数:
145
首先对每行进行排序,并对与前两行有$A = a_1 \leq a_2 \leq \cdots \leq a_k$和$B = b_1 \leq b_2 \leq \cdots \leq b_k$。首先把所有的$b_i , i\in [1,k]$与$a_1$进行求和,并加入优先队列中。其中最小的必然是$...
分类:
其他好文 时间:
2014-10-02 00:24:41
阅读次数:
202
终于学习了传说中的A*搜索~...先通俗的说一下A*搜索的原理,然后用代码实现~A*搜索是在基于广搜的基础上的一种启发式搜索方式(我也不知道启发式是什么意思),可以大大降低搜索时间,找出相对正确的最优路径。这里用到了特殊的存储结构---优先队列,可以优化将查找的复杂度从O(n)有化成O(logn);...
分类:
其他好文 时间:
2014-10-01 22:18:11
阅读次数:
289