关于 hack 卡掉了 ISAP 但不卡 dinic

P2754 [CTSC1999] 家园 / 星际转移问题

但是如果所有建边完成后只跑一次 ISAP,比如 $day<945$ 的时候都不求最大流,只在 $day=945$ 时跑一次,时间 $\leq 1ms,$ 但多次跑就会导致时间递增,更奇妙了……
by MichaelWong @ 2023-06-23 10:05:47


UPD. 2023.6.27 目前本地测试 ISAP 的运行时间大概在 $4.6s$ 左右,最后单次运行的时间大概在每次 $6ms, $ 仍然不知道原因…… [Here's the code.](https://www.luogu.com.cn/record/113416110)
by MichaelWong @ 2023-06-27 19:26:42


同问ISAP复杂度,最后一个点本地跑2200ms左右,但没有出现某个天数跑的特慢的情况,基本都是随天数递增的。$day>400$的时候在1ms左右。954的时候差不多10ms。最后二分,每次都重新建图过的。 [代码](https://www.luogu.com.cn/record/120527619)
by xu826281112 @ 2023-08-12 17:08:12


是我对这道题的理解有偏差,每次都清空图了,不TLE才有问题。正常跑Dinic和ISAP都能跑过。 [Dinic](https://www.luogu.com.cn/record/120533384) [ISAP](https://www.luogu.com.cn/record/120533606)
by xu826281112 @ 2023-08-12 17:27:04


感性理解:这题里ISAP的bfs反向建图优化的优势就不是那么明显了。基本就是每多一天Dinic的bfs和ISAP的bfs操作都是跑一次。而之前距离源点的边流量流满的比较多,就导致正向跑bfs遍历的点少。 学完网络流就太久没碰了,很有可能讲错)逃
by xu826281112 @ 2023-08-12 17:41:23


@[xu826281112](/user/35126) 拜谢大佬!照您的代码找到了不合适的地方,我的 `dis` 应该 `memset` 成 `0x3f`,`-1` 会慢很多,应该是会出现 `dis[s]=-1` 但是还是坚持在流的情况。改过来之后已经快的飞起了,再次拜谢大佬!
by MichaelWong @ 2023-09-03 08:58:25


|