畅通工程续
http://acm.hdu.edu.cn/showproblem.php?pid=1874
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15713
Accepted Submission(s): 5...
分类:
其他好文 时间:
2014-08-04 17:39:47
阅读次数:
338
Floyd算法
Dijkstra算法是用于解决单源最短路径问题的,Floyd算法则是解决点对之间最短路径问题的。Floyd算法的设计策略是动态规划,而Dijkstra采取的是贪心策略。当然,贪心算法就是动态规划的特例。
算法思想
点对之间的最短路径只会有两种情况:
两点之间有边相连,weight(Vi,Vj)即是最小的。
通过另一点:中介点,两点相连,使weight(Vi,Vk)+weight(Vk,Vj)最小。
Min_Distance(Vi,Vj)=min{weight(Vi,Vj)...
分类:
其他好文 时间:
2014-08-04 14:25:07
阅读次数:
275
最短路问题。Dijkstra,SPFA,Floyd 都可求。题意非常明了,求最安全的路,乘起来就好了。有个小优化就是SPFA 算过的起点就不再去算了。还有推断一下终点,開始没推断,WA了一发。#include#include#include#include#include#include#inclu...
分类:
其他好文 时间:
2014-08-04 14:04:07
阅读次数:
175
DescriptionGreg has a weighed directed graph, consisting ofnvertices. In this graph any pair of distinct vertices has an edge between them in both dir...
分类:
其他好文 时间:
2014-08-04 13:30:27
阅读次数:
317
用floyd超时了。。。注定的事情。。。题意:看案例就跑出来了。。不需要看题了把。。#include
#include
#include
using namespace std;
#include
const int INF =1999299;
int minn(int a,int b)
{
return a>b?b:a;
}
#define N 510
#define M 251000...
分类:
其他好文 时间:
2014-08-02 20:57:14
阅读次数:
449
Greg and Graph
floyd算法的理解与灵活运用+逆向思维...
分类:
其他好文 时间:
2014-08-02 18:26:33
阅读次数:
287
大白书里面的题感觉就是没有什么固定的思路,只能认真理解学习汝佳大大的代码。这里用的Floyd判圈法,就像插图里面的一样,两个小孩,一个快一个慢,如果实在一个环形跑道,那么快的那个最终一定会“追上”慢的那个。明显这里还是有重复计算的部分,但相对其他算法来说还是比较高效的吧,我猜。。6s的题居然只用了0...
分类:
其他好文 时间:
2014-08-02 18:12:23
阅读次数:
166
一周总结费用流:BZOJ1927有n个点保证每个点都走一次,且走完n个点的最小花费。分点,保证每个点只走一次。BZOJ2324有n个点k个人保证在走完前i-1个点时,才能走第i个点,求遍历n个点的最小花费。此题建边时要用floyd求出前...
分类:
其他好文 时间:
2014-08-02 15:27:33
阅读次数:
274
题目地址:HDU 2833
这题想到了最后是通过dis[s][t]==dis[s][i]+dis[i][j]+dis[j][t]的思路来判定是否属于最短路的一条。。但是没想到可以用floyd来找最短路中的点数。。。最短路还是太渣了。。好多性质都不会利用。。
这题的思路就是通过floyd对每两个点之间的最短路条数进行计数,然后通过上面的公式(对两条路线均要判定,都符合才说明都可以走),再找最短路...
分类:
其他好文 时间:
2014-08-02 10:04:23
阅读次数:
186
~当k=0时,我们关注的是邻接矩阵的第0行和第0列,即顶点0的入边和出边;考察矩阵中其他元素,如果元素D[i][j]向第0行和第0列的投影D[0][j]和D[i][0]都有值,就说明原图中从 i 到 j 存在一条经过顶点0的有向路径 i -> 0 -> j,这样的路径包含的边数不会超过2,如果其权值...
分类:
其他好文 时间:
2014-08-02 04:01:02
阅读次数:
187