全国旅行题解

题目要我们求的是:对于每个点,可以从多少个点(包括这个点本身)出发抵达该点。

暴力的方法可以直接对于每个点跑 ndfs,每次都处理出可以到达该点的点的数量。但是 O(n^2) 很明显超时。

或者我们考虑跑一遍拓扑排序来统计出,对于每个点,可以从多少个点出发抵达该点。思路很好,但是因为在环上可能无法实现。这个时候我们就可以先缩点,因为环上每一个点都是可以互相到达的,只要在缩完点后的图上跑拓扑排序即可。

2 个赞