![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论-------最短路
Soar-
这个作者很懒,什么都没留下…
展开
-
POJ1062昂贵的聘礼(Dijkstra+限制)
分析: 现在我们假设没有等级限制,且有A,B,C共3种商品且A,B,C的原价分别为10000,9000,8000且A可以由B物品加上优惠价7000换取,A还可以由C物品加上优惠价1000换取. 我们在纸上把这个图画出来,然后添加一个0号节点. 从0号节点到A,B,C的有向边花费为A,B,C 3物品直接购买(不用物品+优惠价)的价格.比如从0到A花费10000原创 2017-11-28 21:27:21 · 242 阅读 · 0 评论 -
POJ---3662(Telephone Lines,最短路+二分*好题)
题意:给定一个无向有权图,权值代表修建电线需要的花费,公司给报销K条线,这个人需要付款剩下的线路中花费最大的那个线路。 题解:最短路问题,只不过这时候的最短路不是让求最短的距离了,而是给定一个花费X,是否有一条通路能够满足,恰好有K+1条路满足>=X,这个X就是可行解。二分去求最小的可行解就可以了!所以这个时候d[]数组放最短距离已经没有任何意义了,而是放到达终点>=X的边数最原创 2018-02-05 00:08:27 · 248 阅读 · 0 评论 -
POJ1502---MPI Maelstrom(Dijkstra最短路基础题)
POJ1502---MPI Maelstrom http://poj.org/problem?id=1502题意理解:前面一大坨不用看,题意就是给个无向图,求从第一个目标到所有目标的最短路的最大值(给所有的目标发完信息)。给了下半个矩阵,顺其自然用邻接矩阵表示,然后利用Dijkstra算法求出最短路即可。AC代码:#include#i原创 2017-11-27 20:41:24 · 239 阅读 · 0 评论 -
Dijkstra算法---模板
Dijkstra算法:单源最短路径 给定一个带权有向图G=(V,E) ,其中每条边的权是一个非负实数。另外,还给定 V 中的一个顶点,称为源。现在我们要计算从源到所有其他各顶点的最短路径长度。这里的长度是指路上各边权之和。这个问题通常称为单源最短路径问题。 下面给出两个计算单源最短路径的模板。①邻接矩阵:时间复杂度O(n^2)#include#in原创 2017-11-30 10:47:55 · 491 阅读 · 0 评论 -
POJ 2240---Arbitrage(Floyd的dp思想)
题意: 给你一些货币比如A,B,C,然后给你他们之间存在的对换关系,如A可以换0.5个B,B可以换10个C,C可以换2个A等.然后问你是否存在一种对换可以使得1个A可以换到大于1个A的钱.分析: 首先把每个货币的单词映射成一个数字,表示该货币的编号.然后其实本题用到了类似Floyd的动态规划思想. 首先假设货币1对换货币2 比率为a,货币2原创 2017-11-30 00:10:06 · 172 阅读 · 0 评论 -
POJ3660---Cow Contest(Floyd,传递闭包,连通)
题意: 有N头牛,每个牛有一个唯一且不同的能力等级值. 然后他们中的两头牛进行M场比赛,并给你这M场的比赛结果.现在的问题是问你有多少头牛可以确定自己的排名了? 如果对于a胜b且b胜c,那么肯定a胜c. 且如果已经知道了a胜的牛数目+比a厉害的牛数目正好==N-1,那么a的排名也肯定可以推出来.分析: 首先此题我们要求的就是从a点能到达的点数目与能到达a点的原创 2017-11-30 00:04:15 · 204 阅读 · 0 评论 -
HDU 1690---Bus System(Floyd模板题+合理定义INF)
Floyd算法模板题,注意本题数据来到了10的9次方,保证两数相加不溢出,INF最好为1e20左右。#include#include#include#includeusing namespace std;#define MAX 105#define INF (long long)1e20int n, m;long long d[MAX][MAX];void init(原创 2017-11-29 22:15:34 · 184 阅读 · 0 评论 -
HDU 1385 Minimum Transport Cost(Floyd+打印字典序最小路径)
题意:给一个无向图,求出两点间的最短距离(这里还要加上每个地点花费cost[i]),并输出路径。分析:floyd算法,输出字典序最小路径(lexically smallest )注意下特殊情况,到自身情况输出的格式!AC代码:#include#include#include#define INF 0x3f3f3f3f#define maxn 200us原创 2017-11-29 22:08:05 · 161 阅读 · 0 评论 -
Floyd算法---模板
Floyd算法又称为插点法,是一种用于寻找给定的加权图中多源点之间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。 注意:其实很多题目不是直接问你floyd怎么求最短路径,而是要你利用floyd的动态规划思想解决类似floyd的问题。 Floyd算法可以算边权值非负的最短路径问题。下面给出算法模板转载 2017-11-29 21:54:00 · 534 阅读 · 0 评论 -
L2-001. 紧急救援
L2-001. 紧急救援 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地...原创 2018-03-29 20:25:27 · 201 阅读 · 0 评论