========================================================
经典dijkstra算法,已知顶点,求其到其他各个点的最短距离和路径。
========================================================...
分类:
编程语言 时间:
2015-08-21 13:34:44
阅读次数:
199
题目大意:给出出发点和终点和m个虫洞(虫洞的出发点,终点,生成时间和花费时间),问从起点到终点花费的最小时间解题思路:关键是有负环,所以直接跑最短路算法的话会TLE,所以负环要处理一下
但是这个负环又不是负环,因为负环到一定程度的话,就会消失。
比如,到达时间小于虫洞的生成时间,那么负环就消失了,也就是说,负环内的点满足的最优情况就是到达时间刚好等于生成时间
所以,先找出负环,接着判断一下这个...
分类:
其他好文 时间:
2015-08-21 01:57:20
阅读次数:
210
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544
这道题用dijkstra模板一套就出来了。
需要注意的是,这里的边应该是双向边,所以在输入边的数据的时候应该这样写:
for(i=0;i<m;i++){
scanf("%d%d%d",&a,&b,&c);
g.map[a]...
分类:
编程语言 时间:
2015-08-19 01:59:36
阅读次数:
221
今天第一次系统的学习了一下最短路算法,开始刷第十一章,第一次写Dijkstra算法,出现了很多喜闻乐见的错误。。而且uva上样例很水,瓢虫也很水 ,坑了我好久。
首先是对于结点的处理,我们必须要维护一个二元组,一个表示结点一个表示当前结点最短路。 因为Dijkstra算法利用了优先队列来加速算法,所以需要定义小于运算符,一开始我直接将状态装进了优先队列,显然是不对的,因为优先队列的作用就是取...
分类:
编程语言 时间:
2015-08-17 23:47:45
阅读次数:
231
题意:构造让Dijkstra单源最短路算法有效松弛次数最多的数据。。。题解:构造,题意换种说法就是更新晚的路径要比更新早的路径短。因为所有点都会更新一次,那么按照更新时间形成一条链,即到最后一个点的最短路径,注意:越在这条链的后面的边越晚更新,然后添加边,在前面的点所连的边一定是先更新的,所以反过来...
分类:
其他好文 时间:
2015-08-06 20:07:45
阅读次数:
189
关于最短路的几个算法有Dijkstra,Bellman-Ford,FloydDijkstra:Dijkstra适用于边权为正的情况,从单个源点出发,到其他所有结点的最短路算法的核心是用已经知道的结点 i 的距离 d[i] 去更新和这个结点相连的其他结点的距离void Dijkstra(){ m...
分类:
编程语言 时间:
2015-07-28 00:26:30
阅读次数:
126
// 此博文为迁移而来,写于2015年4月9日,不代表本人现在的观点与看法。原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vx93.html1、前言最短路算法有很多种,类似于Floyd和Dijkstra都是很早之前就学了的。其实每种最短路算法有各自的...
分类:
编程语言 时间:
2015-07-26 23:52:46
阅读次数:
164
题意:给出任意两头牛在比赛中的位次关系,求根据所给的数据,能确定几头牛的rank~
思路:求有向图的传递闭包问题~ 简单说,传递性就是如果点i和点k连通,点k和点j连通,那么点i和点j也连通~
由此我们就可以判断出图中任意两点是否相连。 这道题可以用floyd算法求解,最后判断所有与某个点相连的点的个数是否等于n-1,就可以得出结果辣~
AC代码:
#include
#include...
分类:
其他好文 时间:
2015-07-22 19:01:35
阅读次数:
99
题意:求解从起点到终点的所有路径中,最长边最小是多少?
思路:dijkstra算法变形,用d[i]表示某条路径中的最长边即可。
AC代码:
#include
#include
#include
#include
using namespace std;
#define inf 0x7ffffff
double edge[205][205];
double x[205],y[205],...
分类:
其他好文 时间:
2015-07-22 13:19:56
阅读次数:
90
上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、6号顶点的最短路径。 与Floyd-Warshall算法一样这里仍然....
分类:
编程语言 时间:
2015-07-11 23:59:24
阅读次数:
498