![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论--Floyd
focus_best
这个作者很懒,什么都没留下…
展开
-
HDU 3631 Shortest Path(Floyd变形)
HDU 3631 Shortest Path(Floyd变形)http://acm.hdu.edu.cn/showproblem.php?pid=3631题意:给你一个N个节点的有向图以及M条边.然后我们要回答Q条询问,询问是问指定两点A与B的最短距离.但是A与B的最短距离只能经过已经被标记了的点(就算A与B也必须被标记了).分析: 我们先读入所有的初始距离矩阵.然后每原创 2014-07-13 22:04:20 · 801 阅读 · 0 评论 -
POJ 2263 Heavy Cargo(Floyd变形)
POJ 2263 Heavy Cargo(Floyd变形)http://poj.org/problem?id=2263题意:给你一个无向图,图中每条路有一个负重限制v.现在要你求从A点到B的的所有可能路径中,负重量最大的那个值.即假设从A到B有一条路径,该路径包括负重为10,20,30,5的4条路.那么该路径的负重就是5.现在我们要求一条负重值最大的路.分析: 此题可由原创 2014-07-13 15:06:41 · 1635 阅读 · 0 评论 -
POJ 2240 Arbitrage(Floyd)
POJ 2240 Arbitrage(Floyd)http://poj.org/problem?id=2240题意:给你一些货币比如A,B,C,然后给你他们之间存在的对换关系,如A可以换0.5个B,B可以换10个C,C可以换2个A等.然后问你是否存在一种对换可以使得1个A可以换到大于1个A的钱.分析: 首先把每个货币的单词映射成一个数字,表示该货币的编号.然后其实本题用原创 2014-07-09 22:49:35 · 1013 阅读 · 0 评论 -
HDU 1690 Bus System(Floyd)
HDU 1690 Bus System(Floyd)http://acm.hdu.edu.cn/showproblem.php?pid=1690题意:本质是给你一个无向图,要你求指定两点间的最短距离.分析: 直接Floyd算法即可,不过要注意单个距离最大为10亿,如果用int肯定不行,需要用long long 且d[i][j]初值INF要足够大或者干脆用-1表示才行.原创 2014-07-09 20:45:27 · 995 阅读 · 0 评论 -
HDU 4034 Graph(Floyd变形)
HDU 4034 Graph(Floyd变形)http://acm.hdu.edu.cn/showproblem.php?pid=4034题意:给你一个N个节点的有向图的最短距离矩阵,现在要你求出该有向图的最少可能的边数是多少?如果该图存在矛盾,则输出”impossible”.分析: 对于一个有向图,最多可能有n*(n-1)条边.我们只要枚举这n*(n-1)条边,然后看原创 2014-07-13 20:58:22 · 893 阅读 · 0 评论 -
POJ 3660 Cow Contest(Floyd传递闭包)
POJ 3660 Cow Contest(Floyd传递闭包)http://poj.org/problem?id=3660题意:有N头牛,每个牛有一个唯一且不同的能力等级值.然后他们中的两头牛进行M场比赛,并给你这M场的比赛结果.现在的问题是问你有多少头牛可以确定自己的排名了? 如果对于a胜b且b胜c,那么肯定a胜c. 且如果已经知道了a胜的牛数目+比a厉害的牛数目正好==N-1,那么a的原创 2014-07-13 18:56:12 · 1249 阅读 · 0 评论 -
POJ 1847 Tram(Floyd)
POJ 1847 Tram(Floyd)http://poj.org/problem?id=1847题意:有一个由很多节点构成的轨道网络.每个节点连接多个轨道.且每个节点初始是连接轨道i的,如果它向换成轨道j,就需要转换1次.现在给你节点A与B,问你从A开到B去,最少需要转换多少次轨道.分析: 把每个节点看出顶点,建立一个有向图.对于节点i与节点j,如果i有到j的轨原创 2014-07-13 15:46:29 · 868 阅读 · 0 评论 -
HDU 1385 Minimum Transport Cost(Floyd+打印字典序最小路径)
HDU 1385 Minimum Transport Cost(Floyd+打印字典序最小路径)http://acm.hdu.edu.cn/showproblem.php?pid=1385题意:给你一个无向图,现在要你输出特定起点到终点的最短距离以及字典序最小的路径.不过本题的两路径之间的距离计算方式与常规不同.分析: 直接用Floyd算法计算最短路径,且保存字典序最小原创 2014-07-13 11:46:02 · 1085 阅读 · 0 评论 -
POJ 2502 Subway(Floyd单源最短路)
POJ 2502 Subway(BellmanFord单源最短路)http://poj.org/problem?id=2502题意:给你你的家坐标和学校坐标,以及多条地铁线路的各个站点坐标.你以10KM/H的速度行走,地铁以40KM/H的速度开.现在要你输出你从家到学校的最短时间(四舍五入分钟).你一到地铁站点就可以开车,且地铁都是双向的.分析: 根据题目要求建图,然后原创 2014-07-16 12:44:06 · 1267 阅读 · 1 评论 -
HDU 2807 The Shortest Path(矩阵相乘+Floyd)
HDU 2807 The Shortest Path(矩阵比较+Floyd)http://acm.hdu.edu.cn/showproblem.php?pid=2807题意:有N个城市,每个城市用一个M*M的矩阵表示.如果矩阵A*矩阵B== 矩阵C,那么我们说城市A到城市C有一条长度为1的路.现在你要回答对于特定的两个城市是否存在路,如果存在的话,最短路是多少?分析:原创 2014-07-14 18:49:49 · 1151 阅读 · 0 评论 -
HDU 1245 Saving James Bond(Floyd)
HDU 1245 Saving James Bond(Floyd)http://acm.hdu.edu.cn/showproblem.php?pid=1245题意:你在一个圆形岛上,需要通过跳跃踩鳄鱼来逃离到正方形的岸上去.现在给你所有鳄鱼的坐标和岛的信息以及你一次能跳跃的距离,问你最少要条多少距离且最少要跳多少步?分析: 其实本题本质上就是一道多源点多汇点的最短路径题原创 2014-07-14 20:48:42 · 1139 阅读 · 1 评论 -
POJ 3615 Cow Hurdles(Folyd变形)
POJ 3615 Cow Hurdles(Folyd变形)http://poj.org/problem?id=3615题意:给你一个有向图,然后对于特定的点A与B,要你求出A到B之间所有可行路径的单段路距离最大值的最小值.(有点绕)分析: 和前几题一样,利用的是Floyd算法的动态规划思想.假设d[i][j]是从i到j所有可行路径中的单段距离的当前最大值.现在有路(i,原创 2014-07-13 17:45:19 · 1355 阅读 · 0 评论 -
POJ 2570 Fiber Network(Floyd传递闭包+状态压缩)
POJ 2570 Fiber Network(Floyd传递闭包+状态压缩)http://poj.org/problem?id=2570题意:有一个有向图,对于有向图的每条边上有一个公司名字的集合,代表该集合内的公司能提供该边的连通服务.现在我们给你q个查询.对于每个查询a和b,你要回答有哪些公司能提供从a到b的通路服务.分析: 又是Floyd的传递闭包思想.我们用mp原创 2014-07-13 20:06:57 · 944 阅读 · 0 评论 -
HDU 1869 六度分离(简单Floyd)
HDU 1869 六度分离(简单Floyd)http://acm.hdu.edu.cn/showproblem.php?pid=1869题意:给你N个人以及他们之间的M个关系,现在问你任意两个人之间是否可以通过最多6个人就联系起来.(其实就是他们之间的最短距离要分析: 直接用Floyd算法求任意两人之间的距离,看看是否有距离>7的一对点即可.AC代码:#incl原创 2014-07-14 19:44:32 · 969 阅读 · 0 评论 -
HDU 3665 Seaside(简单Floyd)
HDU 3665 Seaside(简单Floyd)http://acm.hdu.edu.cn/showproblem.php?pid=3665题意:给你一个有向图,问你从0点到终点集合的最短距离.最短集合包括多个点.分析: 用N号点表示超级汇点,然后添加特定的边.再用Floyd算法求0号点到N号点的最短距离即可.AC代码:#include#includeus原创 2014-07-13 21:28:53 · 1044 阅读 · 0 评论 -
POJ 1975 Median Weight Bead(Floyd传递闭包)
POJ 1975 Median Weight Bead(Floyd传递闭包)http://poj.org/problem?id=1975题意:有N(N为奇数)个珠子,我们进行了M次重量的比较且给出了结果.我们想找出这N个珠子中重量居中的那个珠子(中位数),即有(N+1)/2个珠子比它重,有(N+1)/2个珠子比它轻的那个珠子.但是我们得先排除那些已经能确定不是中位数的珠子.分析:原创 2014-07-13 19:34:14 · 1063 阅读 · 0 评论 -
POJ 1125 Stockbroker Grapevine(Floyd)
POJ 1125 Stockbroker Grapevine(Floyd)http://poj.org/problem?id=1125题意:给你一个有向图,现在要你找一个起点来传播消息,问你要找那个点传播能使得其他所有点最快时间收到消息.即求到其他所有点的最短距离中的最大值最小的那个点.分析: 建图,Floyd算法求解.然后一次求出所有点作为源点时的最短距离最大值即可.原创 2014-07-13 16:48:32 · 952 阅读 · 0 评论 -
Floyd算法
Floyd算法 Floyd算法又称为插点法,是一种用于寻找给定的加权图中多源点之间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。 注意:由下面的练习可以看出,其实很多题目不是直接问你floyd怎么求最短路径,而是要你利用floyd的动态规划思想解决类似floyd的问题。 Floy原创 2015-04-04 19:14:04 · 2545 阅读 · 0 评论