本题可以转化为求不在任何一个简单奇圈上的结点个数。
简单圈上的所有结点必然属于一个点双连通分量。因此需要先找出所有双连通分量,二分图是没有奇圈的,因此我们只需要关注那些不是二分图的双连通分量,可以证明这些双连通分量一定都在某个奇圈上。
对于每个连通分量的每个双连通分量B,若它不是二分图,给B中所有结点标记为“在奇圈上”。注意,由于每个割顶属于多个双连通分量,它可能被标记多次。
引用自刘汝佳《算法竞赛入门经典 训练指南》
1 |
|
本题可以转化为求不在任何一个简单奇圈上的结点个数。
简单圈上的所有结点必然属于一个点双连通分量。因此需要先找出所有双连通分量,二分图是没有奇圈的,因此我们只需要关注那些不是二分图的双连通分量,可以证明这些双连通分量一定都在某个奇圈上。
对于每个连通分量的每个双连通分量B,若它不是二分图,给B中所有结点标记为“在奇圈上”。注意,由于每个割顶属于多个双连通分量,它可能被标记多次。
引用自刘汝佳《算法竞赛入门经典 训练指南》
1 | #include <cstdio> |