题意:赛道有n个交叉点,和m条单向路径(有重边),每条路都是周期性关闭的,且通过仍需一段时间。在比赛开始时,所有道路刚好打开,选择进入该道路必须满足“在打开的时间段进入,在关闭之前出来”,即不可在路上逗留,但是可以在交叉点逗留。问到达终点的时间要多少?思路:最短路,而且正权,用Dijkstra+优先...
分类:
其他好文 时间:
2015-07-16 18:39:36
阅读次数:
239
Dijkstra’s algorithm使用了广度优先搜索解决非负权图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离,该算法可以用来找到两个城市之间的最短路径。
其基本原理是:每次新扩展一个距离最短的点,更新与其相邻的点的距离。当所有边权都为正时,由于不会存在一...
分类:
编程语言 时间:
2015-07-12 17:33:46
阅读次数:
184
Bellman-Ford算法是由理查德?贝尔曼(Richard Bellman) 和 莱斯特?福特 创立的,求解单源最短路径问题的一种算法。有时候这种算法也被称为 Moore-Bellman-Ford 算法,因为 Edward F. Moore 也为这个算法的发展做出了贡献。它的原理是对图进行V-1次松弛操作,得到所有可能的最短路径。其优于迪科斯彻算法的方面是边的权值可以为负数、实现简单,缺点是时间...
分类:
编程语言 时间:
2015-07-12 17:31:10
阅读次数:
227
题目大意
求有向图中经过某一点k的最大环(数据规模不支持floyd)。
题解
以k为起点在正向图中spfa求单源最短路,再在反向图中spfa求单源最短路。枚举除k外的每一个点i,如果有一个同时包含i与k的环,ans=max{ans,dist[i]+invdist[i]}ans=\max\{ans,dist[i]+invdist[i]\}。
Code
#include
#incl...
分类:
其他好文 时间:
2015-07-12 12:50:57
阅读次数:
163
C++之广度优先搜索算法篇C++之广度优先搜索算法篇 广度优先搜索(又称宽度优先搜索算法)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。 Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统.....
分类:
编程语言 时间:
2015-07-12 10:53:45
阅读次数:
180
上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、6号顶点的最短路径。 与Floyd-Warshall算法一样这里仍然....
分类:
编程语言 时间:
2015-07-11 23:59:24
阅读次数:
498
dijkstra算法,单源最短路,用邻接矩阵(二维数组)存图,外层for 1->n; 然后先找出dist[] 数组里面最小的一个数的编号(代表从目的地到这个编号的村庄的最短距离)。这个编号里的值此时已经可以确定是从出发点到这个这个编号的最短路径。然后在用一个for-1>n;通过这个最短距离,来改变其他村庄到出发点的距离...
分类:
其他好文 时间:
2015-07-11 09:20:31
阅读次数:
123
本文记录一下dijkstra算法的实现,图用邻接矩阵表示,假设图为无向图,并且连通,有向图,不连通图的做法类似。算法简述:
首先确定“单源”的源,假设是第0个顶点。
维护三个数组dist[], color[], path[],设其下标分别为0…i…n-1:
dist[] 表示源点到顶点i的最短距离,在初始化时,如果源点到顶点i有路径,则初始化为路径的权重,否则初始化为INT_MAX;
c...
分类:
编程语言 时间:
2015-07-06 23:30:57
阅读次数:
188
题意:有n个bug,有m个补丁,每个补丁有一定的要求(比如某个bug必须存在,某个必须不存在,某些无所谓等等),打完出来后bug还可能变多了呢。但是打补丁是需要时间的,每个补丁耗时不同,那么问题来了:要打多久才能无bug?(同1补丁可重复打)分析: n 2 #define LL long lon.....
分类:
其他好文 时间:
2015-07-05 22:35:16
阅读次数:
200
原文链接:http://www.cnblogs.com/Jason-Damon/archive/2012/04/21/2460850.html摘自百度百科 Bellman-ford算法是求含负权图的单源最短路径算法,效率很低,但代码很容易写。即进行不停地松弛(relaxation),每次松弛把每条边...
分类:
编程语言 时间:
2015-06-29 23:51:20
阅读次数:
258