题意 给定一个无向图,边的权值为小于1的小数,表示通过这条边的数据成功传输到另一边的可能性,0.8表示有百分之八十的可能性传输过去。问你从起点到终点,最大的传输成功率多大。 分析 根据题意,相当于求一个最长路,dijkstra有点难写,直接用bellman-ford,因为边权值都是小于1的,所以更新 ...
分类:
其他好文 时间:
2016-11-27 23:25:26
阅读次数:
206
【模板】负环 【模板】负环 【模板】负环 题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 接下来M行,每行三个整数a b w,表示a->b有一条权 ...
分类:
其他好文 时间:
2016-11-14 16:58:41
阅读次数:
266
比较详细的解释请见:【转】彻底弄懂最短路径问题(图论) 前言:我先写一些总结性的话——1.推荐使用优先队列优化后的Dijkstra算法,速度最快;2.出现负边和判断负环都用Bellman-Ford算法(也就是SPFA算法);3.Floyd算法本质是DP或贪心思想,枚举出了所有路径的情况,一些“合法性 ...
分类:
其他好文 时间:
2016-11-05 00:16:41
阅读次数:
272
题目链接请戳 这里 解题思路 用bellman-ford算法判断,邻接表实现。 代码 ...
分类:
其他好文 时间:
2016-11-01 00:57:01
阅读次数:
157
Wormholes Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it ...
分类:
其他好文 时间:
2016-10-12 00:37:35
阅读次数:
218
最短路 最短路有多种算法,常见的有一下几种:Dijstra、Floyd、Bellman-Ford,其中Dijstra和Bellman-Ford还有优化;Dijstra可以用优先队列(或者堆)优化,Bellman-Ford也可以用队列优化,通常称为spfa。下面分别对这几种算法进行说明。 Dijstr ...
分类:
其他好文 时间:
2016-09-26 19:44:34
阅读次数:
178
在路由选择算法中都要用到求最短路径算法。最出名的求最短路径算法有两个,即Bellman-Ford算法和Dijkstra算法。这两种算法的思路不同,但得出的结果是相同的。 下面只介绍Dijkstra算法,它的已知条件是整个网络拓扑和各链路的长度。 应注意到,若将已知的各链路长度改为链路时延或费用,这就 ...
分类:
编程语言 时间:
2016-09-22 12:57:21
阅读次数:
261
对于前面说到的最短路径的求解方法,不能解决负权边的情况,而Bellman-Ford却可以 共有n个顶点,m条边,每次输入u[i],v[i],w[i],代表从u[i]到v[i]的距离是w[i],对于所有的顶点进行n-1次松弛 还是直接看代码吧 1 #include<stdio.h> 2 #includ ...
分类:
其他好文 时间:
2016-09-17 13:17:27
阅读次数:
121
SPFA算法 一.算法简介 SPFA(Shortest Path Faster Algorithm)算法是求单源最短路径的一种算法,它是Bellman-ford的队列优化,它是一种十分高效的最短路算法。 很多时候,给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman- ...
分类:
编程语言 时间:
2016-09-14 12:42:56
阅读次数:
184
适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重点。 ...
分类:
编程语言 时间:
2016-09-13 07:55:47
阅读次数:
255