【题解】CF22E Scheme 缩点、tarjan、基环树
题意可以转化为:给定基环内向树森林,加最少的边使得图强连通。
考虑一棵基环内向树的环,一定不存在一条有向边 \(u\to v\) ,其中 \(u\) 属于环, \(v\) 不属于环。
那么我们将一棵基环内向树缩点后,一定是以环所在的强连通分量为根节点的内向树。
对于一棵内向树来说,任意一个节点都可以到达根节点,那么我们只需要将根节点与所有叶子连接即可。
对于由 \(k\) 棵内向树构成的内向树森林,我们可以加 \(k-1\) 条边合并成一棵内向树。
并且我们可以每次将其 “挂到” 叶子节点上,使得每次合并能够使得叶子节点个数 - 1 。
合并后根节点往叶子节点连边即可。
那么答案即内向树森林的叶子节点个数和。
时间复杂度 \(O(n)\) 。