关于spfa,它又活了

前言

此文章纯娱乐,不喜勿喷。

此文章涉及到部分代码,建议先 AC\[NOI2018\] 归程后再看此文章。

众所周知,spfa 的死因是 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程一题里非常熟练地使用了一个广为人知的算法求最短路。

然后呢?

100→60;

Ag→Cu;

最终,他因此没能与理想的大学达成契约。

正文

这题的正解是 dijstkra,可以拿 100 分。代码:这里的 Code 1

如果用正常的 spfa,那就会和那位同学一样,只拿 60 分。代码:这里的 Code 2

为此,我加上了 SLF 优化,但也只拿了 60 分。代码:这里的 Code 3

进一步,我又加上了 LLL 优化,但由于恶臭出题人数据强度较高,也只拿了 60 分。代码:这里的 Code 4

最后,我搬出了容错 SLF 优化,终于 100 分。代码:这里的 Code 5

后记

综上所述,我们可以得出结论:spfa 没有死,它又活了。

希望以后的出题人记住,如果能用 dijkstra,就一定要卡 spfa。

感谢 xhhkwy 大佬的这篇文章,文中提到的优化,都能在这里找到。

附上一张图片:

posted @ 2026-01-21 19:52  aaalys  阅读(25)  评论(0)    收藏  举报
//雪花飘落效果