求教一道题
acm吧
全部回复
仅看楼主
level 1
lifesaver3 楼主
设计一个O(n+m)复杂度的算法,判断无向图中是否存在一条u到w的路径,经过顶点v。(可能用到最大流),有大佬能提供一下思路吗?
2021年06月25日 15点06分 1
level 1
先转换一下问题,如果存在u和v是可达的,v和w是可达的,那么就一定存在路径,是的u经v到达w的路径。当然有种特殊情况,u必须经过w来到达v,这种情况题主没有描述是否合法,只需要在bfs或者dfs的时候特判断一下。下面讲一下bfs的思路,直接入队u能到达的所有节点,然后对队内每一个节点执行相同操作,直到找到v,这里记得到达过的节点标记一下,避免重复到达,之后对w进行相同操作,如果两个节点都能到达v,那么就是存在的。特判v,开始bfs时标记v为经过过的节点就好。
2021年07月14日 07点07分 3
1