用HDU2544整理一下最近学的最短路算法1.Dijkstra算法原理:集合S表示已经找到最短路径的点,d[]表示当前各点到源点的距离 初始时,集合里面只有源点,当每个点u进入集合S时,用d[u]+w[u][v]更新距离 再重复这个步骤,选取S外所有点中d[]最小的进入集合直到所有的点都进入S集合局...
分类:
编程语言 时间:
2015-04-12 16:12:36
阅读次数:
174
算法训练 最短路 时间限制:1.0s 内存限制:256.0MB问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为.....
分类:
编程语言 时间:
2015-04-05 23:29:30
阅读次数:
303
1.算法描述
dijkstra,一种求单源正权图上的最短路的算法
主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止
Dijkstra算法思想为:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径 , 就将 加入到集合S中,直到全部顶点都加入到S中,算法就结束了),第二组为其余未确定...
分类:
编程语言 时间:
2015-04-02 16:33:17
阅读次数:
135
本题地址:(http://acm.hdu.edu.cn/showproblem.php?pid=2544)
本题使用的是Dijkstra算法,这种算法的时间复杂度为O(V*V),使用这种前提—>是图没有负权值边,不然这种算法就无法解决问题,还得使用Bellman-Ford算法(使用这种算法的前提是图中不存在负圈:从源点可达的总权值为负的回路)AC代码如下:#include
#inc...
分类:
其他好文 时间:
2015-03-21 14:06:28
阅读次数:
123
最短路算法dijkstra(初级的最短路算法,适合稠密图,可用邻接表优化)bool relax(int u,int v){ double tmp=max(dist[u],edge[u][v]); if(tmp<dist[v]){ dist[v]=tmp; }}void...
分类:
编程语言 时间:
2015-03-11 16:42:23
阅读次数:
154
UVA - 10801Lift Hopping(Dijkstra)
题目链接
题目大意:有n个电梯,每个电梯有制定停靠的楼层,如果你从一个电梯换乘另一个电梯需要等待60s。一开始你在0层,在0层的时候不需要等待。现在指定你要到的楼层,问你通过这n个电梯到达目标楼层的最快时间。
解题思路:这题是最短路算法,但是不容易转化,因为你需要先处理出可以停靠的任意两个楼层之间的最短时间,然后再转换成你从...
分类:
其他好文 时间:
2015-03-09 10:55:18
阅读次数:
230
1.题目描述:点击打开链接
2.解题思路:本题要求找最短的时间,乍一看想用动态规划解决,但可惜这种做法是行不通的,因为状态经过多次转移之后可能会回到原先的状态,即状态图不是DAG。因此联想到用图论上的最短路算法来解决。先把每个状态都看成一个结点,然后用Dijkstra算法解决即可,不过本题与普通的最短路问题略有不同:结点很多,多达2^n个,而且很多状态根本遇不到。所以没必要先把图储存好。(一般的...
分类:
其他好文 时间:
2015-03-07 17:18:35
阅读次数:
149
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1869题意分析:比较简单的最短路算法,最后只需判断最远两点距离是否大于7即可。/*六度分离Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 3...
分类:
其他好文 时间:
2015-02-23 17:51:20
阅读次数:
171
学了多年的算法,最短路问题相当之常见————好久没写过最短路的问题了,直到昨天闲的无聊来了一题——BZOJ3402(HansBug:额才发现我弱到只能刷水的地步了TT)一看这不是明显的单源最短路么呵呵。。。于是直接上来来了个dijkstra,而且用的是邻接表存储图——Submit之后,结果却是——我...
分类:
编程语言 时间:
2015-02-22 17:19:01
阅读次数:
239
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。
其基本思想是,设...
分类:
编程语言 时间:
2015-02-16 14:21:14
阅读次数:
299