首先我们需要熟悉Dijkstra算法的原理:从某个源点到其余各顶点的最短路径,即单源点最短路径。单源点最短路径是指:给定带权有向图G和源点v,求从v到G中其余各顶点的最短路径。迪杰斯特拉(Dijkstra)提出了按路径长度递增的顺序产生各顶点的最短路径算法。该算法的基本思想是:(1)设置两个顶点的集...
分类:
其他好文 时间:
2014-07-29 21:15:52
阅读次数:
283
1102:迷宫问题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:84
解决: 41
题目描述
小明置身于一个迷宫,请你帮小明找出从起点到终点的最短路程。
小明只能向上下左右四个方向移动。
输入格式
输入包含多组测试数据。输入的第一行是一个整数T,表示有T组测试数据。
每组输入的第一行是两个整数N和M(1
接下来N行,每行输入M个字符,每个...
分类:
其他好文 时间:
2014-07-29 17:50:42
阅读次数:
445
题目链接:最短路径问题
两个权值的最短路问题
SFPA +前向星 水过250ms
#include
#include
#include
#include
#include
const int INF = 1e7;
using namespace std;
int n,m,t;
int ma[1001][1001],dis[1001],cost[1001];
bool vis[100...
分类:
其他好文 时间:
2014-07-29 14:44:58
阅读次数:
225
Dijkstra算法的标记和结构与prim算法的用法十分相似。它们两者都会从余下顶点的优先队列中选择下一个顶点来构造一颗扩展树。但千万不要把它们混淆了。它们解决的是不同的问题,因此,所操作的优先级也是以不同的方式计算的:Dijkstra算法比较路径的长度,因此必须把边的权重相加,而prim算法则直接...
分类:
其他好文 时间:
2014-07-29 12:31:36
阅读次数:
217
题目链接题意 : 中文题不详述。思路 :无论是SPFA还是Dijkstra都在更新最短路的那个地方直接将花费更新了就行,还有别忘了判重边,话说因为忘了判重边WA了一次。 1 //3790 2 #include 3 #include 4 #include 5 #include 6 #inclu...
分类:
其他好文 时间:
2014-07-29 12:19:47
阅读次数:
289
最短路径问题Problem Description给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。Input输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边...
分类:
其他好文 时间:
2014-07-29 11:56:06
阅读次数:
283
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874Problem Description某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行...
分类:
其他好文 时间:
2014-07-29 10:29:36
阅读次数:
384
解题思路:
题目唯一难点就是如何去表示地点,用map映射可以轻松搞定,一个地点名对应一个值,剩下的就是求最短路径。下面给出三个代码,第一个是用朴素Dijkstra写的,第二个用了Floyd,第三个用了Dijkstra + heap。感觉上运行效率差不多。。。。。
AC代码:
Dijkstra:
#include
#include
#include
#include
usin...
分类:
其他好文 时间:
2014-07-28 00:05:29
阅读次数:
349
街区最短路径问题
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述一个街区有很多住户,街区的街道只能为东西、南北两种方向。
住户只可以沿着街道行走。
各个街道之间的间隔相等。
用(x,y)来表示住户坐在的街区。
例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。
现在要建一个邮局,使得各个住户到...
分类:
其他好文 时间:
2014-07-28 00:04:09
阅读次数:
280