最短路
broxin
这个作者很懒,什么都没留下…
展开
-
SGU103 The traffic lights 绞脑题
题意:一张有向图,给出起点和终点。每个点有个交通灯,可能是蓝色或紫色(什么鬼。。)。每个点的蓝色和紫色各有一个持续时间(每个点的交通灯数据不一定相同),并且有一个0时刻的初始颜色以及初始颜色剩余的持续时间(毛子干嘛非要把题目弄这么复杂)。每条道路有一个非负整数的长度。从一个节点到另一个节点,当且仅当这两个节点的交通灯颜色相同,也就是说如果到了一个节点,想要去另一个节点而那个节点和这个颜色不同,需要原创 2015-09-09 20:48:26 · 549 阅读 · 0 评论 -
对dijkstra算法的常数优化-by azui
Dijkstra有一个经典的堆优化,可以将原本n^2的复杂度优化到(n+m)logn,由于C++的priority_queue,我们只需要自己定义一个结构体,一个比较函数,一个构造函数即可。但分析传统的堆优化dijkstra模板代码可发现,由于每次松弛成功都要进行入堆操作,堆中元素个数最多可达到(n+m)那么多,但其实每加入一个点,若这个点之前还有若干次在堆中的话,之前在堆中保存的同一个点相当于是原创 2015-10-20 21:28:07 · 1170 阅读 · 0 评论