Burnside

只是一些定义,具体例子去看组合数学。

置换

对于排列 $X$,将函数 $f:X \to X$ 称为置换。也可以记作

定义置换的合成 $f \circ g$,有 $(f \circ g)(k) = f(g(k))$。

定义置换群 $G$ 满足

  • $\forall f,g \in G, f \circ g \in G$。

  • 存在单位元。

  • $\forall f \in G, f^{-1} \in G$。

着色

记 $C$ 为颜色集合,将函数 $c:X \to C$ 称为着色。

定义颜色的置换 $f*c$ ,有 $(f*c)(i_k)=c(k)$。

$c_1$ 与 $c_2$ 等价当且仅当 $\exists f \in G, f*c = c$,记作 $c_1 \sim c_2$。

定义着色集 $\mathcal{C}$ 满足

  • $\forall f \in G,c \in \mathcal{C}, f*c \in \mathcal{C}$。

Burnside 定理

定义 $G(c) = \{f|f \in G,f*c=c\},\mathcal{C}(f) = \{c|c \in \mathcal{C},f*c=c\}$ 也称为不动点。

与 $c$ 等价的着色个数 = $\frac{|G|}{|G(c)|}$。

证明

$\forall f \in G,g \in G(c)$ 有 $(f \circ g)*c = f*(g*c) = f*c$。

而每个 $f \circ g$ 是不同的,因此对 $c$ 作用与 $f$ 相同的置换个数为 $|G(c)|$,总置换个数为 $|G|$,所以与 $c$ 等价的不同的着色有 $\frac{|G|}{|G(c)|}$ 种。

Burnside 定理:$非等价着色数 = \frac{1}{|G|} \sum_{f \in G} |\mathcal{f}|$

用人话将就是,本质不同的着色个数为所有置换不动点个数的平均值。

证明

Polya 定理

浅浅写一下。

置换可以被几个循环的合并代替。例

计算着色方案数时,我们只关心大小一定的循环有多少个,因此一个置换群可以被一个生成函数代替。

该方法的优势在于可以限定颜色的个数。

习题

1.【模板】Polya 定理

有 $n$ 种置换,即旋转 $[1,n]$ 次(这里将 $0$ 归为 $n$ 方便计算)。

对于旋转 $k$ 次的,其不动点个数为 $n^{\gcd(n,k)}$。所以答案为

单点求 $\varphi$,时间复杂度 $O(n\sqrt{n}\log n)$(可以通过预处理将 $\log n$ 去掉)。

2.[JSOI2012] 爱之项链

搬题人的 id 提示了此题的做法。

求一个戒指的方案数同上,记方案数为 $k$。考虑容斥,答案为

$n=1$ 要特判?

参考

组合数学(第五版)