数据是否过水

P5960 【模板】差分约束

(叠甲)我可能记错了。 不加inq优化的话spfa的复杂度上界也是O(nm)的,n是点数,m是边数
by scp020 @ 2024-02-03 15:44:35


事实上 SPFA 是 Bellman-Ford 的队列优化的圈内别名,之所以 Bellman-Ford 算法是 $O(nm)$ 的,不是因为发明人太菜了,是因为本来也不能轻而易举地降低复杂度的级别,“SPFA” 这个名字就是个闹剧,死了理所应当。 说回这题,去掉 `vis` 记号只是可能会花时间更多一点,你用朴素的 Bellman-Ford 写也能过就是了。
by Terrible @ 2024-02-03 15:51:29


@[scp020](/user/553625) 应该是这样的,最多退化回Ballman-Ford (叠甲)我也可能记错了。
by 幻想繁星 @ 2024-02-03 15:51:49


@[幻想繁星](/user/649095) @[Terrible](/user/195942) @[scp020](/user/553625) 请问大佬,inq优化有用吗?作用大不大?我用了之后感觉差不多。 另:单源最短路径【弱化版】我的spfa用了200+ms正常吗? (ygpt祭)
by litjohn @ 2024-03-19 22:09:11


@[litjohn](/user/537934) 多数情况下有用,极端数据可以退化到bellman ford的复杂度
by scp020 @ 2024-03-19 22:11:06


就目的性而言,“优化”的核心意涵是指存在特殊情况使得花销相较原版更优。优化代码在某种情况下几乎没有提升,甚至消耗增加是正常现象。
by Terrible @ 2024-03-19 22:29:23


|