最短路径
文章平均质量分 65
最短路径
向上的yyy
路漫漫其修远兮,吾将上下而求索
展开
-
P4779 【模板】单源最短路径(标准版)——堆优化Dijkstra+邻接表
2018 年 7 月 19 日,某位同学在一题里非常熟练地使用了一个广为人知的算法求最短路。然后呢?100→60;Ag→Cu;最终,他因此没能与理想的大学达成契约。小 F 衷心祝愿大家不再重蹈覆辙。原创 2022-09-20 15:01:45 · 217 阅读 · 0 评论 -
1377:最优乘车(travel)——Dijkstra
【题目描述】H城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达S公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士, 这样换乘几次后到达S公园。原创 2022-09-15 21:21:53 · 655 阅读 · 0 评论 -
1381:城市路(Dijkstra)
【题目描述】罗老师被邀请参加一个舞会,是在城市n,而罗老师当前所处的城市为1,附近还有很多城市2~n-1,有些城市之间没有直接相连的路,有些城市之间有直接相连的路,这些路都是双向的,当然也可能有多条。现在给出直接相邻城市的路长度,罗老师想知道从城市1到城市n,最短多少距离。【输入】输入n, m,表示n个城市和m条路;接下来m行,每行a b c, 表示城市a与城市b有长度为c的路。【输出】输出1到n的最短路。如果1到达不了n,就输出-1。【输入样例】5 51 2 20。原创 2022-08-24 17:14:22 · 671 阅读 · 0 评论 -
P1119 灾后重建 floyd c++
分析此题的无穷大不能按题目给的不超过10000,不然会WA五个测试点,所以inf可以赋值为0x3f3f3f3f或者100000,即可通过;而且每次询问的时候,可以发现每个村庄的修建时间是递增的,所以我们可以每次加一个可用村庄,也就是多一个中转点的选择,去更新整个邻接矩阵;这个题目更深一层地了解Floyd算法,参考洛谷的题解:#include <bits/stdc++.h>using namespace std;int n, m;int t[210];//每个村建设所需..原创 2022-04-13 20:20:49 · 528 阅读 · 0 评论 -
P1629 邮递员送信 多源最短路_floyd
分析邮递员每送一个快递都要回去,一次送一个快递,可以判断出这是求多源的最短路,可以采用floyd算法而且此题为有向图,所以不能直接算个去的时候的时间,然后乘2,因为来回的路可能不一样需要注意此题在输入的时候,会有重复的路径,所以我们在处理输入的时候,要注意进行预处理,选取两点最短的路径此外我用getPath方法保存了某两点之间最短路径的情况:保存路径我用的path数组,pass[i][j] 表示:更新从 i 到 j 的最短路径时,经过的一个中转点。然后用LinkedHashSet去保存所经过.原创 2022-04-13 15:21:57 · 967 阅读 · 0 评论 -
1342:【例4-1】最短路径问题——Floyd算法、Dijkstra算法
【题目描述】平面上有n个点(n原创 2022-09-05 13:36:16 · 480 阅读 · 0 评论 -
1343:【例4-2】牛的旅行——Floyd
【题目描述】农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。现在,John想在农场里添加一条路径 ( 注意,恰好一条 )。对这条路径有这样的限制:一个牧场的直径就是牧场中最远的两个牧区的距离 ( 本题中所提到的所有距离指的都是最短的距离 )。考虑如下的两个牧场,图1是有5个牧区的牧场,牧区用“*”表示,路径用直线表示。原创 2022-09-09 10:05:50 · 369 阅读 · 0 评论 -
1379:热浪(heatwv)——Dijkstra
【题目描述】德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。FJ已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。这些路线包括起始点和终点先一共经过T (1原创 2022-09-15 15:29:03 · 280 阅读 · 0 评论 -
1378:最短路径(shopth)——Floyd
【题目描述】给出一个有向图G=(V, E),和一个源点v0∈V,请写一个程序输出v0和图G中其它顶点的最短路径。只要所有的有向环权值和都是正的,我们就允许图的边有负值。顶点的标号从1到n(n为图G的顶点数)。【输入】第1行:一个正数n(2≤n≤80),表示图G的顶点总数。第2行:一个整数,表示源点v0(v0∈V,v0可以是图G中任意一个顶点)。第3至第n+2行,用一个邻接矩阵W给出了这个图。【输出】共包含n-1行,按照顶点编号从小到大的顺序,每行输出源点v0到一个顶点的最短距离。原创 2022-09-15 22:09:43 · 345 阅读 · 0 评论 -
1344:【例4-4】最小花费——Dijkstra
【题目描述】在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。【输入】第一行输入两个正整数n,m,分别表示总人数和可以互相转账的人的对数。以下m行每行输入三个正整数x,y,z,表示标号为x的人和标号为y的人之间互相转账需要扣除z%的手续费 (z原创 2022-09-15 09:17:05 · 1558 阅读 · 0 评论