描述给定一个n个点m条边的无向连通图,求该图中“点双连通分量”的个数。 输入第一行,n, m。 接下来m行,每行两个整数u,v,表示一条无向边(u,v) 对于100%的数据,2<=n,m<=2 * 10^5。 输出输出点双连通分量的数量。 样例输入5 6 样例输出2
点双连通分量概念点双连通: 对于一个无向图,假如仅仅对于该图而言其中不包含割点,那么称这个图是点双连通的。 点双连通分量: 对于一个无向图中的极大点双连通的子图,我们称这个子图为点双连通分量。 算法:tarjan足以设定两个数组存储: dfn[x]:记录dfs时的搜索顺序,第一次访问x的编号 然后,用DFS取遍历图 概念还是能理解的, 但是我用双链表数组做的时候,不是re,就是tle,最后还是换成了vector才安稳ac的,不知道卡在哪里。 AC代码#include<bits/stdc++.h> |
01-20