最短路径
文章平均质量分 51
打死我也想不到一个普普通通的小学,能同时培养出你们卧龙凤雏二位!
大 聪 明
Big Smart
展开
-
史东薇尔城(spfa最短路优化 堆)
问题:给出当前点和任务点,求当前点到点1的距离加上点1到任务点的距离。所以直接spfa一遍再分开加就行。分析:数据过大,所以必须使用优化。利用堆和优先队列,已经book标记。AC代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int> pll;const int N=1e6+1000;int inf=0x3f3f3f3f;ll head[N],d.原创 2022-03-30 17:13:32 · 181 阅读 · 0 评论 -
「一本通 3.3 练习 2」虫洞 Wormholes (SPFA 负环)
哆啦B梦的传送门分析:把可以穿越的路径放入邻接表中,并且将距离改为负值,直接套入判断负环的模板,如果是负环,肯定可以穿越回去(一次时间不够,可以走多次负环)。AC代码:#include<stdio.h>#include<string.h>#include<queue>#include<algorithm>using namespace std;int num,n,flag;const int maxn=1e6+5;int vis[maxn原创 2021-12-06 11:22:20 · 239 阅读 · 0 评论 -
POJ - 3255 Roadblocks(次短路模板 SPFA)
传送门分析:分别以起始点和终点走一遍SPFA开两个数组,然后遍历给出的边,求出除最短路以外的最短路边。AC代码:#include<stdio.h>#include<string.h>#include<algorithm>#include<queue>using namespace std;typedef long long ll;ll inf=0x3f3f3f3f;ll num,n;ll dis[200010],vis[200010],h原创 2021-12-01 19:49:31 · 197 阅读 · 0 评论 -
#10077. 「一本通 3.2 练习 3」最短路计数(SPFA最短路,组合计数)
传送门思路:组合计数:记录从这个起点到终点有几种最短路,同时加上有多少种到该起点的最短路,相当于乘法原理。因为是无向图,所以一个路径要走两遍邻接表,所以结构体数组一定要开二倍!无法到达的点输出0:因为dis数组默认为0,无法到达即不改变原来的值,所以为0AC代码:#include<stdio.h>#include<algorithm>#include<string.h>#include<queue>using namespace std;原创 2021-12-01 11:44:01 · 180 阅读 · 1 评论 -
#10015. 「一本通 1.2 练习 2」扩散(二分+最短路径)
我是传送门~分析:方法一:二分查找最小的时间,用并查集,如果两个点之间的距离小于等于时间t*2,则两个点可以合为并集;遍历完所有点后查看是否都满足。AC代码:#include<cstdio>#include<cstring>#include<algorithm> using namespace std;struct node{ int x,y;}a[55];int n,d[55][55],fa[55];inline int abs(int原创 2021-10-02 19:05:35 · 158 阅读 · 0 评论 -
CodeForces - 1552B. Running for Gold(Floyd表胜负)
我是传送门~The Olympic Games have just started and Federico is eager to watch the marathon race.There will be n athletes, numbered from 1 to n, competing in the marathon, and all of them have taken part in 5 important marathons, numbered from 1 to 5, in the p原创 2021-08-22 12:58:13 · 141 阅读 · 0 评论 -
POJ - 3660Cow Contest(Floyd表胜负关系)
LINK在这铁子N (1 ≤ N ≤ 100) cows, conveniently numbered 1…N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain constant skill rating that is unique among the competitors.The contest is condu原创 2021-08-22 12:48:30 · 117 阅读 · 0 评论 -
HDU - 2066一个人的旅行(最短路径剪枝)
LINK虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,0),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时间,可不能浪费啊,一定要给自己好好的放个假,可是也不能荒废了训练啊,所以草儿决定在要在最短的时间去一个自己想去的地方!因为草儿的家在一个小镇上,没有原创 2021-08-08 09:17:05 · 155 阅读 · 0 评论 -
POJ - 2253Frogger青蛙跳石(最短路径变形)
我是传送门Sample Input20 03 4317 419 418 50Sample OutputScenario #1Frog Distance = 5.000Scenario #2Frog Distance = 1.414题意:给出n个坐标,第一个是舔????所在位置,第二个是女生所在位置,下边可能还给出中间石头的位置。舔????找女神的途中,可能有多条路径,求这些路径当中的最小的最大跳跃距离;(最大相对一条路径说的,最小是多条路径中的所有’最大路径‘的最小值)分析原创 2021-08-08 00:24:55 · 161 阅读 · 0 评论 -
计蒜客 - T1651 道路重建( floyd最短路)
我是传送门从前,在一个王国中,在 nn 个城市间有 mm 条道路连接,而且任意两个城市之间至多有一条道路直接相连。在经过一次严重的战争之后,有 dd 条道路被破坏了。国王想要修复国家的道路系统,现在有两个重要城市 AA 和 BB 之间的交通中断,国王希望尽快的恢复两个城市之间的连接。你的任务就是修复一些道路使 AA 与 BB 之间的连接恢复,并要求修复的道路长度最小。输入格式第一行为一个整数 n\ (3\le n\le 100)n (3≤n≤100),表示城市的个数,这些城市编号从 11 到 nn。原创 2021-06-04 18:27:51 · 513 阅读 · 0 评论