首页 > 道路和航线
头像 又在摸鱼的大熊猫很勤奋努力
发表于 2020-09-10 15:58:30
道路和航线 本质就是一个最短路,有负边,题目保证无环 直接跑的正确性就不用证明了 这道题卡掉了朴素的,用双端队列优化即可? Code #include <bits/stdc++.h> using namespace std; typedef long long ll; const i 展开全文
头像 __故人__
发表于 2020-09-10 15:05:45
分析 读完题,我们发现这道题就是让你求出在一张混合图中的单源最短路。因为有负环,直接考虑 算法。因为题面上已经保证是没有负环的,所以一定有解。考虑到朴素的 算法容易被卡,这里使用 。将原队列改成双端队列,对要加入队列的点 ,如果 小于队头元素 的 ,将其插入到队头,否则插入到队尾。 代 展开全文
头像 Dear㉿You
发表于 2020-09-10 17:33:21
解法一 看数据范围,以及一点分析,能够确定这是单源最短路,可选DJ与SPFA,但是图中存有负权边,只能SPFA了。 However so,这里要用一个江湖人称“SLF”的优化,即当前节点到起点距离小于队首的时候,将此点插入队首,否则,正常插入队尾。感觉这种优化可能被用到的机会很少,但很可能正 展开全文
头像 DeNeRATe
发表于 2020-09-10 19:19:19
分析 本题给出的道路和航线其实就是单向道路和双向道路所以我们直接正常建边就可了由于题目保证了不存在环,那么就绝对没有负环情况但因为有负边,所以我们需要用SPFA所以我们直接套板子即可当然,这里我们使用SPFA的优化(slf优化 或者 lll优化)(机房大佬说想要不一样就要Tarjan缩点+Dijks 展开全文
头像 嘻嘻嘻嘻嘻嘻嘻
发表于 2020-09-10 23:57:32
题目:道路和航线题:https://ac.nowcoder.com/acm/problem/50381题意:给定有向边(可负权边),无向边(不可负权边),问从S点到任意一点的最短路边权,若不能到达则输出“NO PATH”分析:负权边不可用dijkstra最短路来求,只能依靠spfa来求,其中queu 展开全文
头像 程序蒟蒻
发表于 2020-09-14 19:20:34
SPFA+SLF优化,直接朴素的SPFA会卡掉。当然用SPFA+LLL+SLF应该也是可以的,但是我不是很会LLL,但是一个SLF优化就可以过了。题目当中说:双向边是非负的而单向边没有环,所以,我们可以先把有双向边链接的若干个点缩成一个点,然后点之间连上单向边之后这张图是一个有向无环图,所以跑广搜就 展开全文
头像 熠丶
发表于 2020-09-11 11:08:22
做法:SPFA+SLF 思路: 出现了负权边,那么我们可以使用SPFA做法然后套用SPFA的板子,结果就t了最后2个点wwwhttps://ac.nowcoder.com/acm/contest/view-submission?submissionId=44977509&returnHome 展开全文

等你来战

查看全部