![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【图论】--最短路
文章平均质量分 64
起风了_唯有努力生存
继续加油
展开
-
Interesting Calculator (最短路,广搜+优先队列,dp)(简单题)
There is an interesting calculator. It has 3 rows of buttons. Row 1: button 0, 1, 2, 3, ..., 9. Pressing each button appends that digit to the end of the display.Row 2: button +0, +1, +2, +3, ..原创 2017-04-05 16:50:38 · 320 阅读 · 0 评论 -
POJ3660---Cow Contest(floyed传递闭包问题)
【题目来源】:https://vjudge.net/problem/POJ-3660 【题意】 农夫为了不让自己的牛们相互撕打,制定了一个方案,给出他们的战斗力,写出排名(rank),数据输入时左边的牛的大于右边的牛。问:能够知道多少只牛的确切排名。 【思路】 第一开始想到定义左右数组进行模拟,但发现最后更新关系的时候最坏情况下需要n个for循环。果断放弃。了解到floyed算法又名wars原创 2017-06-27 19:23:10 · 352 阅读 · 1 评论 -
POJ1502---MPI Maelstrom (最短路:题意杀)
【题目来源】:https://vjudge.net/problem/POJ-1502 【题意】 传讯信息,从第一台装置传入其余各个装置,并且尽可能距离小。然后求出最大的一个。。。。 【思路】 简单的迪杰斯特拉算法就可以过。。但是,主要还是输入的时候。。一不小心被坑了十几发。。。明明输入对了,,但就是过不去。。最后,,弱弱只好用了atoi函数,过了、、、(尴尬到死。。。) 【代码】#incl原创 2017-06-27 14:35:02 · 291 阅读 · 0 评论 -
POJ1860---Currency Exchange (最短路:验证是否存在正环)
【题目来源】:https://vjudge.net/problem/POJ-1860 【题意】 有多种汇币,给出从A币到B币的汇率和手续费。计算公式: money(B)=(money(A)-手续费)*汇率。 给出本金钱数和钱币的类型,问经过转换汇币类型是否能够增加钱的数目。 【思路】 这道题也就是要求验证是否存在正环,若是存在正环,那么钱数一定会增加。关键是怎么验证是否存在正环。 验证原创 2017-06-27 09:31:40 · 490 阅读 · 0 评论 -
POJ3259---Wormholes(最短路:验证存在负环)
题目来源:http://poj.org/problem?id=3259 【题意】 农夫有n块地,这n块地有m条路径,具有相应的时间(走这条路),同时也有w个时间 虫洞,可以从一块地到另一块地,并且减少相应的时间,问:是否能够遇到之前的自己。。。 【思路】 m条路径是双向的,而w个虫洞是单向的。而这道题也就变成了判断是否存在负数环,因为一旦有了负数环,时间会不停地减少,肯定会遇见曾经的自己的。原创 2017-06-26 19:43:03 · 579 阅读 · 0 评论 -
POJ3268---Silver Cow Party (最短路径)
题目来源:https://vjudge.net/problem/POJ-3268 【题意】 给出n个点,一个点x,求其他点到这个点再返回原来位置的最短路径。 并且,给出的边是单向边。 【思路】 相信从一个定点到其他所有点的最短路径很好求,只需要一个spfa即可,但是呢,题目要求还有一部分,从其他所有点到一个定点的最短路径,额。。有点尴尬,想了好一会,想过用三层for的folyed,但是2s原创 2017-06-25 19:19:24 · 398 阅读 · 0 评论 -
POJ1797---Heavy Transportation(最短路变形)
题目来源:https://vjudge.net/problem/POJ-1797 题意 从点1到点n,很多条路径,每条路径都有一个最小的权值,求这些最小的权值里的最大值。 【思路】 这道题和我做的的上一题差不多一样的做法(自行点击)。均是维护d数组就可以了,只不过稍微有些变化而已,做这种题的关键是理解。 【思路】#include<cmath>#include<cstdio>#inclu原创 2017-06-25 15:14:49 · 3073 阅读 · 0 评论 -
POJ2253---Frogger(最短路变形)
题目来源:https://vjudge.net/problem/POJ-2253 【题意】 一个石头上的一只小青蛙想要去见另一个小石头的小青蛙,但是河水太脏,所以小青蛙需要通过跳石头去见心上人一面。问:(解释不了。。举例说明) 假设点1是A青蛙,3是B青蛙,2是石头,且1,2相距1米,2,3相距1米,1,3相距2米,那么从A到B青蛙存在两条路,1—>3和1—>2—>3。 第一条路需要的最大跳原创 2017-06-25 13:45:56 · 1846 阅读 · 1 评论 -
POJ2387---Til the Cows Come Home (最短路模板)
题目来源:https://vjudge.net/problem/POJ-2387 【题意】 从点n到点1需要的最短路径。 单源最短路径问题。 【思路】 用已知的边去更新未知的边,不断进行松弛操作,直到不能再松弛。 那什么是松弛操作呢? 假设一题为单源路径问题,那么假设点1为起点,且用d数组来存下点1与其他点的的直接距离,然后依次更新,用w[][]二维数组表示点与点之间的关系。例如:d[原创 2017-06-24 08:48:04 · 683 阅读 · 0 评论 -
POJ2240---Arbitrage(最短路:验证是否正环)
【题目来源】:https://vjudge.net/problem/POJ-2240 【题意】 给出多种国家的货币,问,存不存在任意一种货币经过转换成别国货币,钱数增多的。。。 【思路】 前天做过一题,相同类型,Currency Exchange,这道题就是验证存不存在正环,而前天那道题是给出了起初是哪一种货币,而这道题并没有,所以,如果继续用bellman的话,就要for循环节点。 但是原创 2017-06-29 16:33:53 · 297 阅读 · 0 评论 -
POJ1511---Invitation Cards (最短路:邻接表+2次spfa)
【题目来源】:https://vjudge.net/problem/POJ-1511 【题意】 一大批志愿者去一大批的公交站点发传单,这里的一大批数量为n, (^ ,^),完了之后呢,还有回到出发点,题中描述出发点为编号1的站点,然后,问题就变成了这样的一个模型: 求从1到其余个点需要的最短路径之和,加上,其余各点到1号点的最短路径之和。 【思路】 两次spfa。但是由于站点的数量较多,可原创 2017-07-01 09:23:54 · 304 阅读 · 0 评论 -
Heavy Transportation (最短路径变形)
Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can now expand business. But he needs a clever man who tells him whether there really is a way from the place his cu原创 2017-03-29 11:46:05 · 496 阅读 · 0 评论 -
Tram (最短路练习模板题)
Tram network in Zagreb consists of a number of intersections and rails connecting some of them. In every intersection there is a switch pointing to the one of the rails going out of the intersection.原创 2017-01-09 14:37:56 · 478 阅读 · 0 评论 -
Til the Cows Come Home (Digkstra邻接矩阵裸模板)
用init()子函数来初始化各种数据,包括节点与节点之间未连通状态时权值为INF(除了相同的节点),以及每个节点初始化权值为INF(除了第一个节点),还有就是标记数组,说明都还未被访问过。用digkstra子函数用了三个for循环,最外层循环是为了遍历全部的节点,使他们的权值都改变为从一节点到他们各自最小的总权值,第二层循环是为了不断更新未访问的点(最近的优先,所以就有了其中的m=INF,是为原创 2017-01-07 14:16:37 · 352 阅读 · 0 评论 -
URAL1004---Sightseeing trip (Floyed求最小环)
【题目来源】:https://cn.vjudge.net/problem/URAL-1004 【题意】 给出n个点,m条双向边,赋权,问,在整个无向图中,最小环的路径。 什么是最小环呢,也就是从i点经过某些点重新回到i点的最小距离。 【思路】 最小环记录路径模板题。 给出两篇不错的讲解:求最小环讲解,以及最小环。 【代码】#include<cstdio>#include<cstrin原创 2017-07-30 18:03:46 · 355 阅读 · 0 评论 -
POJ1724---ROADS (最短路变形(邻接表+优先队列))
【题目来源】:https://vjudge.net/problem/POJ-1724 【题意】 给出旅游经费k,每一条路都要花去一定的经费,在保证能够从点1到点n的情况下,求最短路。 【思路】 这是我的最短路专题里最后一道题了。总体感觉这几天做的还行,学到了不少东西。有苦有乐。 第一次这么在最短路里用优先队列,然后,恍然大悟还可以这么写。 这道题前提保证能够到达n点,并且还要是最短路,那原创 2017-07-04 19:32:41 · 359 阅读 · 0 评论 -
POJ1062---昂贵的聘礼(最短路:题意。。)
【题目来源】:https://vjudge.net/problem/POJ-1062 【题意】 题意很简单,就是要求买1号的东西,但是可以用规定的其他编号的东西代替,然后给出一个降低后的价格,但是呢,每件物品的主任具有等级的差距,也就是如果和等级4的交易后,若最大等级差距为2,那么任何情况下都不能再于等级1的交易。 【思路】 枚举一下差距的上限,因为如果一旦和等级4的交易了,若等级差距为2,原创 2017-07-04 16:11:14 · 326 阅读 · 0 评论 -
POJ2502---Subway (最短路:spfa or floyed)
【题目来源】:https://vjudge.net/problem/POJ-2502 【题意】 给出起点终点坐标,给出多条线路,分别给出x,y坐标,以-1,-1结束一条线路,直到文件输入完全为止。 【思路】 这道题有个点,并没有说清楚:题意中说共有不足200个地铁站,但并没有说明每条线路相互之间是否存在相同的地铁站,如果把每个站都记录下来,floyed的一层循环极限就不止200了,可以是很多原创 2017-07-03 14:57:42 · 299 阅读 · 0 评论 -
POJ3159---Candies(最短路:spfa+栈or队列)(邻接表)
【题意来源】:http://poj.org/problem?id=3159 【题意】 班长分糖,规定是,B童鞋分的糖不能超过A童鞋C个(输入数据:A B C),那么,假设共有n个同学,编号1~n,那么n好同学最多比1号同学多多少个? 【思路】 不等式问题,可由差分约束系统转变为最短路问题。(差分约束现在还不大懂。。) 大致说一下我的思考过程: 假设S数组代表最优情况下每个人得到的糖的数量原创 2017-07-02 17:27:07 · 495 阅读 · 2 评论 -
poj2680---Choose the best route(超级源点+最短路)
题目来源http://acm.hdu.cn/php?pid=2680题意A要去S,有w个起点,求最短路。思路定义一个超级源点,到达这些起点的的权值均为0,然后进行最短路。代码#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int INF=0x3f3f3f3f;int d[1000+10原创 2017-09-12 09:36:33 · 440 阅读 · 0 评论