一点建图上的疑问

P1113 杂务

@[liysjianttso](/user/538085) 写 `linker[x].push_back(y)` 就是 dfs 时先做 x 的准备工作,再做 x,也对呀
by OldDriverTree @ 2023-06-11 14:47:51


@[OldDriverTree](/user/681036) 但是x自身的最小花费难道不应该由所有能到达x的点中的最小话费+x本身的花费得到吗,为什么要由x继续向下搜索呢 ``` vis[x] = max(vis[x], dfs(linker[x][i])); ``` 没理解错的话这句话应该是对x能到达的点进行dfs
by liysjianttso @ 2023-06-11 18:24:41


你说的对,但正向建图和反向建图并不影响最长链,答案不变(把vis输出,就会发现正向和反向是不一样的)(书上这确实应该勘误,代码和它前面的分析不一样
by KAMITO @ 2023-07-07 04:14:56


@[KAMITO](/user/747671) 原来是这样 感谢
by liysjianttso @ 2023-07-12 14:39:04


|