这道题目主要是新学会一个trick:tarjan缩完点之后形成了一个拓扑逆序
什么意思?也就是说,缩完点之后,我们对每个scc进行连边,然后我们直接倒序循环,这就是一个topo序
可以参考这道题目的代码,注意初始化的时候不能只初始化d[scc],因为入度为0的点可能不止一个
update 2024.5.30
这道题目要考虑重边的影响,因为题目中的子图的边是将所有与点集相关的边全部加入,所以重边要么全部加入,要么全部不加入,只算一遍(想想代码怎么写)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步