你在 `DFS` 的时候要加一个 `vis` 数组,保证每个点只访问一次(所以其实这玩意比 EK 费用流没优势)
因为你的图有负权,所以它不是分层的,可能含有权为零的环,你在这个环上转圈于是爆栈了。
by reveal @ 2022-12-14 20:27:06
@[reveal](/user/523491) thx
by char_cha_ch @ 2022-12-14 20:27:35
@[reveal](/user/523491) 好像有点优势欸(((
by char_cha_ch @ 2022-12-14 20:29:41
@[kirihara233](/user/701221) dfs写挂了,要用 vis 数组维护当前还在递归的节点,我放一下改完的代码,不确定是不是我刚说的那个问题,主要看一下dfs内的就好,其他地方我把你队列移到函数外,dis数组memset的值改了一下,因为我记得memset赋初值好像只能 1,0,-1,0x3f
by yizhiming @ 2022-12-14 20:35:36
已经有人说了,那我就不发代码了捏(
by yizhiming @ 2022-12-14 20:36:09
@[yizhiming](/user/369399) 不是,有个冷知识,`dis` 数组的值随便选一个会变得无穷大,不信输出一下。
by char_cha_ch @ 2022-12-14 20:36:42
@[kirihara233](/user/701221) 哦哦,拜谢
by yizhiming @ 2022-12-14 20:37:20
@[yizhiming](/user/369399) `memset` 的第二个参数接受 `char` 表示将一块内存逐字节地赋为与其相同的值。
所以以 `int` 为例,参数二为 $x$ 对应的 `int` 值为 $x2^{24}+x2^{16}+x2^{8}+x$
by reveal @ 2022-12-14 20:44:03
@[reveal](/user/523491) 感谢
by yizhiming @ 2022-12-14 20:45:15
@[kirihara233](/user/701221) 没优势指的是时间复杂度上没优势。
如果值域比较小的话,可以视作为有一个较小的常数。
by reveal @ 2022-12-14 20:46:13