【笔记】图论连通性 2
不知道取什么标题。
边双连通分量
在一张无向图上,如果有一条边,满足删去这条边后,图不连通,那么这条边被称为无向图的割边。
没有割边的图是边双连通的,极大的边双连通子图为边双连通分量。
点双连通分量
在一张无向图上,如果有一个点,满足删去这个点后,图不连通,那么这个点被称为无向图的割点。
没有割点的图是点双连通的,极大的点双连通子图为点双连通分量。
int n, m, dfn[N], low[N], stk[N], cnt, tot, top;
basic_string<int> g[N], tr[N << 1];
void tarjan(int u) {/*{{{*/dfn[u] = low[u] = ++cnt, stk[++top] = u;for (int v : g[u]) {if (dfn[v]) low[u] = min(low[u], dfn[v]);else {tarjan(v), low[u] = min(low[u], low[v]);if (low[v] >= dfn[u]) {int p = ++tot; // 初始时赋值 tot = ntr[p] += u, tr[u] += p;do tr[p] += stk[top], tr[stk[top]] += p; while (stk[top--] != v);}}}
}/*}}}*/
平面图
无向图 \(G\) 是平面图当且仅当 \(G\) 不含与 \(K_5\) 或 \(K_{3,3}\) 同胚的子图。
对于有 \(n\) 个点 \(m\) 条边 \(r\) 个面 \(p\) 个连通块的平面图,满足欧拉公式 \(n-m+r=p+1\)。注意面数 \(r\) 包含一个面积无限的外部面。
若 \(G\) 为 \(n\geq 3\) 个点 \(m\) 条边的平面图,则 \(m\leq 3n-6\)。
广义串并联图
无向图 \(G\) 是广义串并联图当且仅当 \(G\) 不含与 \(K_4\) 同胚的子图。
广义串并联图可以通过广义串并联图方法缩成一个点:删一度点、缩二度点、叠合重边。
外平面图
无向图 \(G\) 是外平面图当且仅当它是平面图且所有顶点都可以在某一个面的边界上。换句话说 \(G\) 是一个环以及环中的一些不相交的弦。
无向图 \(G\) 是外平面图当且仅当 \(G\) 不含与 \(K_4\) 或 \(K_{2,3}\) 同胚的子图。
外平面图的一个点双连通分量的形状就像一个有若干条不相交对角线的多边形。
以上三种图的联系
已知:\(K_5\) 含有与 \(K_4, K_{2, 3}\) 同胚的子图,\(K_{3, 3}\) 含有与 \(K_4, K_{2, 3}\) 同胚的子图。
图 | \(K_4\) | \(K_{2,3}\) | \(K_5\) | \(K_{3,3}\) |
---|---|---|---|---|
平面图 | 有 | 有 | 无 | 无 |
广义串并联图 | 无 | 有 | 无 | 无 |
外平面图 | 无 | 无 | 无 | 无 |
由此可以发现以上三种图有一种隐晦的包含关系。
广义串并联图操作
通过不断地进行删一度点、缩二度点、叠合重边的操作,\(n\) 个点 \(n+k\) 条边的无向图 \(G\) 最终会变成点数不超过 \(2k\)、边数不超过 \(3k\) 的无向图。