
最短路
文章平均质量分 73
yuanba_xs
分享程序员的体会与知识
展开
-
迪杰斯特拉算法模板--打印路径
/*迪杰斯特拉算法用于解决单源最短路问题,时间复杂度为o(n^2),权值为正*/#include #include #include #include #define N 1005#define INF 0x3f3f3f3fusing namespace std;int m, n;int map[N][N];int dis[N];int vis[N];void ini原创 2017-01-31 13:23:51 · 1460 阅读 · 0 评论 -
floyd算法模板--打印路径
#include #include #include #include #define N 1005#define INF 0x3f3f3f3fusing namespace std;int m, n;int map[N][N];void init(){ for (int i = 1; i <= n; i++) { for (int j = 1; j <= n;原创 2017-01-31 13:26:19 · 2073 阅读 · 1 评论 -
uva10048 floyd或者kruscal
/*题目大意:从a点到b点, 找到一条路径,使得这条路径上的所有噪音中最大的值是所有路径中最小的, 这个噪音值便是要求的。若不连通,输出no path方法1:floyd算法,改变map[i][j]的含义,改变松弛条件:map[i][j] = min(map[i][j], max(map[i][k], map[k][j]));方法2:kruscal算法,先对边排序,然后从小到大加边。如果原创 2017-02-05 14:00:12 · 253 阅读 · 0 评论 -
poj2253 求生成树的最大边最小值
描述Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frogwho is sitting on another stone. He plans to visit her, but since the water is dirty andfull of tou原创 2017-02-05 14:07:27 · 405 阅读 · 0 评论 -
hdu3790双权值最短路问题
/*给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。Input输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为0时输入结束。(1<n<=1000, 0<m<100000,原创 2017-02-02 23:06:39 · 465 阅读 · 0 评论 -
hdu2544 最短路标准模板
/*在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所原创 2017-02-02 23:09:54 · 252 阅读 · 0 评论 -
bellman-ford算法模板
#include #include #include #define MAXN 1005const int inf = 0x3f3f3f3f;using namespace std;int n, m;int dis[MAXN],u[MAXN],v[MAXN],w[MAXN];void bellford(int start){ for (int i = 1; i <= n原创 2017-01-31 15:13:31 · 372 阅读 · 0 评论 -
hdu1217 floyd
#include #include #include #include #include #include #include #define N 1005const double INF = 1e-10;using namespace std;int m, n;double mapp[N][N];void floyed(){ for (int k = 1; k原创 2017-02-03 11:16:24 · 207 阅读 · 0 评论 -
hdu3790 单点floyd松弛
/*此题就是为floyd而设,题目每次明确对一个顶点松弛,最后所求是全局最短路,因此每次只需对一个顶点进行floyd算法,另外注意顶点标号是从0开始*/#include #include #include #include #define N 305#define INF 0x3f3f3f3fusing namespace std;int m, n, q;i原创 2017-02-03 12:05:32 · 284 阅读 · 0 评论