@[岚默笙](/user/365236) 我也是TLE3个点,#4#5#6,调了一天了/kk求救...
第一次遇到遍历DAG死循环的情况..
by wisdom_grass @ 2020-11-05 19:54:01
你试试dfs的时候如果一个点被遍历多次就退出
by stargre @ 2020-11-05 20:33:13
@[stargre](/user/48023) 前几天已经调出来了 dfs的时候不记录f而用一个数组标记走过的点 不重复走 就不会t了
by 岚默笙 @ 2020-11-06 07:02:28
找到问题了。
![png](https://cdn.luogu.com.cn/upload/image_hosting/ldeka5i1.png?x-oss-process=image/resize,m_lfit,h_170,w_225)
比如上面这张图片。从1号点开始遍历,第二列的每一个点将遍历到第四列的每一个点。那么假设第二列有49999个点,第四列有49999个点,则遍历的点大致有50000^2个。会超时。
解决办法是建反图从N号点开始遍历,建立vis数组判断一个点是否有遍历过。如果遍历过就不必再往下遍历——接下来的点肯定被遍历过了,肯定都能从N号点到达。
(图片忘记画方向了,脑补一下qwq)
by wisdom_grass @ 2020-11-06 21:51:29
@[岚默笙](/user/365236) qwq
by wisdom_grass @ 2020-11-07 08:32:29