用户工具

站点工具


2020-2021:teams:i_dont_know_png:nikkukun:cycle_space

环空间

如果两个环可以异或相消,则一个图中的所有简单环,可以由某个钦定的点 $u$ 为始末点的所有简单环组合得到。实现可以用 DFS,记录第一次访问到某个点时的路径异或值 $\mathrm{dis}_u$,则每次访问到已经经过的点时,只需要把当前的异或值和 $\mathrm{dis}_u$ 异或一下就成了一个环。显然,这样找到的环的个数是 $\mathcal{O}(V + E)$ 的。

仔细想想,上面的过程实际就是随便找了一棵生成树(DFS 树),然后把所有非树边和两点最短路径相连,就构成了一个基本环。如果相连的是一个树边也无所谓,反正绕成一圈之后就完全没贡献了。

这个是 WC2011 最大 XOR 和路径的结论,除此之外还有另一个结论:如果路径也可以异或,那么一条从 $u$ 到 $v$ 的路径异或上很多环,得到的仍然是一条从 $u$ 到 $v$ 的合法路径。

注意因为有重边,所以可以走回父亲的边……这个地方很容易出问题,因为不走回父亲的边会 continue,少计算一个可能有代价的环。

在上文所述的情况下,如果要你走一个以 $u$ 为始末点的环,那其实就是唬人的:如果环不经过 $u$,则从 $u$ 走到环上再走回 $u$ 后就满足条件了,且异或和相等。

关于 Cycle Space

具体来说,上图其实说明了这么一件事:一个图 $G$ 的满生成森林(Full Spaning Forest)加上任意一条不在森林中的边构成的环,形成了 F 的一个基础环(Fundamental Cycle of G)。其中,图 $G$ 的满生成森林是每个连通分量的任意一棵生成树构成的集合。

我们把图 $G$ 中与满生成森林 $F$ 关联的所有基础环的集合称为基础环系。设 $T$ 是连通图 $G$ 的一个最小生成树,则与 $T$ 关联的基础环系是圈空间 $W_c(G)$ 的一组基,且基的大小恰为 $m - n + c$,其中每个参数含义见下文。

This number is called the circuit rank of the graph, and it equals $m - n + c$, where $m$ is the number of edges in the graph, $n$ is the number of vertices, and $c$ is the number of connected components.

也就是说,一个连通分量中非树边构成的所有环,可以通过异或组合得到该连通分量的所有环,并且这些环恰好相互独立。我们把所有连通分量中基础环系的大小之和称为环秩(Circuit Rank)或环空间的维度(Dimension of Cycle Space)。显然,基础环系中构成的都是简单环,而通过基础环系组合出来的环可以不是简单环。

利用基础环可以化简回路方程。只要把回路中相互独立的方程组列出来,就是秩最小的方程组,这个只需要列出所有的基础环即可。

(以上部分内容由@roife 翻译,部分来自 Wikipedia)

2020-2021/teams/i_dont_know_png/nikkukun/cycle_space.txt · 最后更改: 2020/05/12 16:52 由 nikkukun