题目链接
方法:强连通分量 + 缩点
题目分析
题目大意
给出n
个点,m
条有向边,问存在多少个点v,使图中任意一个点u,若存在从u
走向v
的通路,则同时存在从v
指向u
的通路。言下之意是:如果u到不了v,则v也不需要到u。题意很绕吧?
解析
读明白题之后很容易发现,将所有强连通分量缩完点,找到出度为0
的那个点表示的双连通分量,输出该双连通分量中的所有点即可。
注意输出点需要升序排列
代码
1 |
|
Pursue excellence; Strive for perfection.
方法:强连通分量 + 缩点
给出n
个点,m
条有向边,问存在多少个点v,使图中任意一个点u,若存在从u
走向v
的通路,则同时存在从v
指向u
的通路。言下之意是:如果u到不了v,则v也不需要到u。题意很绕吧?
读明白题之后很容易发现,将所有强连通分量缩完点,找到出度为0
的那个点表示的双连通分量,输出该双连通分量中的所有点即可。
注意输出点需要升序排列
1 | #include <set> |