#P8436. 【模板】边双连通分量

【模板】边双连通分量

Description

对于一个 nn 个节点 mm 条无向边的图,请输出其边双连通分量的个数,并且输出每个边双连通分量。

Input Format

第一行,两个整数 nnmm

接下来 mm 行,每行两个整数 u,vu, v,表示一条无向边。

不保证图为简单图,图中可能有重边和自环。

Output Format

第一行一个整数 xx 表示边双连通分量的个数。

接下来的 xx 行,每行第一个数 aa 表示该分量结点个数,然后 aa 个数,描述一个边双连通分量。

你可以以任意顺序输出边双连通分量与边双连通分量内的结点。

5 8
1 3
2 4
4 3
1 2
4 5
5 1
2 4
1 1
1
5 1 5 4 2 3
5 3
1 2
2 3
1 3
3
3 1 3 2
1 4
1 5
6 5
1 3
2 4
1 2
4 6
2 3
4
3 1 2 3
1 4
1 5
1 6
7 8
1 3
2 4
3 5
2 5
6 4
2 5
6 3
2 7
3
1 1
5 2 5 3 6 4
1 7

Hint

样例四解释:

相同颜色的点为同一个连通分量。


数据范围: 对于 100%100\% 的数据,1n5×1051 \le n \le 5 \times10 ^51m2×1061 \le m \le 2 \times 10^6

subtask nn mm 分值
11 1n1001 \le n \le 100 1m5001 \le m \le 500 2525
22 1n50001 \le n \le 5000 1m5×1041 \le m \le 5 \times 10^4
33 1n2×1051 \le n \le 2\times 10^5 1m5×1051 \le m \le 5\times 10^5
44 1n5×1051 \le n \le 5 \times10 ^5 1m2×1061 \le m \le 2 \times 10^6

数据更新

  • 2022/7/142022/7/14 加强数据
  • 2022/11/262022/11/26 新增 1010 组较小的数据(1n,m101\le n, m \le 10),方便选手调试。
  • 2022/12/312022/12/31 重组 subtasksubtask,并加入若干组极端数据。
  • 2023/1/12023/1/1 发现昨天新加入的数据数据出了问题,已修改。

本题不卡常,时间限制与空间限制均已开大,正确的解法均可通过。


惊喜:AC 后记得把鼠标放到测试点上看反馈信息,有惊喜哦。