题解中很多都把 queue 定义在外面但是没有清空队列。
如果只用一个数组 cnt[] 来记录每个点的入队次数,在 cnt[x]>=n 时退出 SPFA 。则极限数据下,环大小为 200020002000 ,要绕 200020002000 次才会结束,每条边边权为 −10000-10000−10000 ,所以:max{dis[i]}=2000×2000×(−10000)\max \{dis[i]\}=2000\times 2000\times (-10000)max{dis[i]}=2000×2000×(−10000) 会炸 long long 。本题数据不开 long long 也能过。
cnt[]
cnt[x]>=n
最后弱弱地问一句,怎么上传大的 hack 数据啊。