浅谈置换群

codgician

2020-03-14

关系

  • 集合的笛卡尔积 (Cartesian product): A×B={(a,b)∣a∈A,b∈B} A \times B = \left\{ (a, b) \mid a \in A, b \in B \right\}
  • 设 AA 是集合,集合 A×AA \times A 的每个子集 RR 叫做集合 AA 上的一个关系 (relation)。
  • 若 (a,b)∈R(a, b) \in R ,则称 aa 和 bb 有关系 RR ,记作 aRbaRb 。

等价关系

若集合 AA 上的关系 ∼\sim 满足如下条件:

  • 自反性:∀a∈A\forall a \in A ,a∼aa \sim a ;
  • 对称性:∀a,b∈A\forall a, b \in A ,若 a∼ba \sim b 则 b∼ab \sim a ;
  • 传递性:∀a,b∈A\forall a, b \in A ,若 a∼b, b∼ca \sim b, \ b \sim c ,则 a∼ca \sim c ;

则称 ∼\sim 是等价关系 (equivalence relation)

a∼b:=a≡b(mod7) a \sim b := a \equiv b \pmod 7

  • 自反性?对称性?传递性?
  • 看起来可以把所有自然数分成 77 类……

等价类

设 ∼\sim 是 AA 上的等价关系,∀a∈A\forall a \in A ,[a][a] 表示 AA 中与 aa 等价的全部元素构成的集合:

[a]={b∼a∣b∈A} [a] = \{ b \sim a \mid b \in A \}

称 [a][a] 为 aa 所在的等价类 (equivalence class)。

若 a,b∈Aa, b \in A 且 [a]∩[b]≠∅[a] \cap [b] \neq \emptyset ,则 [a]=[b][a] = [b] 。

  • 假设 k1∈[a]k_1 \in [a] 且 k1∉[b]k_1 \notin [b] ,k2∈[a]∩[b]k_2 \in [a] \cap [b] ;
  • 则有 k1∼a, k2∼a, k2∼bk_1 \sim a, \ k_2 \sim a, \ k_2 \sim b ;
  • 由传递性得 k1∼bk_1 \sim b ,与假设不符。
  • 集合 AA 可看作一些两两不相交的等价类的并: A=⋃a∈R[a](两两不相交之并) A = \bigcup\limits_{a \in R} [a] \text{(两两不相交之并)}
  • AA 上的每个等价关系给出集合 AA 的一个划分 (partition)。

群 (G,⋅)(G, \cdot)

GG 是非空集合,且二元运算满足:

  • 结合律:(a⋅b)⋅c=a⋅(b⋅c)(a \cdot b) \cdot c = a \cdot (b \cdot c)
  • 单位元 ee :∀a∈G, ea=ae=a\forall a \in G, \ ea = ae = a
  • 逆元:∀a∈G, ∃b∈G  s.t.  ab=ba=e\forall a \in G, \ \exist b \in G \text{ \ s.t. \ } ab = ba = e

若满足交换律,则称为交换群

  • 左右逆元相等:
    • 设 xx 是 aa 的左逆元,yy 是 aa 的右逆元,有:

      x=xe=x(ay)=(xa)y=y x = xe = x(ay) = (xa)y = y

  • 满足消去律:
    • ∀a,b,c∈G, ab=ac⇔b=c\forall a, b, c \in G, \ ab = ac \Leftrightarrow b = c

子群

设 (G,⋅)(G, \cdot) 为群,HH 是 GG 的子集,若 (H,⋅)(H, \cdot) 成群,则称 HH 为 GG 的子群 (subgroup),记作 H≤GH \le G ;

陪集

设 H≤GH \leq G ,对于 x∈Gx \in G :

  • HH 的一个左陪集 (left coset) xHxH : xH={x⋅h∣h∈H} xH = \{ x \cdot h \mid h \in H \}
  • HH 的一个右陪集 (right coset) HxHx : Hx={h⋅x∣h∈H} Hx = \{ h \cdot x \mid h \in H \}

xH={x⋅h∣h∈H} \begin{aligned} xH & = \{ x \cdot h \mid h \in H \} \end{aligned}

x∼y:=x∈yH x \sim y := x \in yH

  • 自反性:x∈xHx \in xH ;
  • 对称性:若 y∈xHy \in xH ,则 x∈yHx \in yH ;
  • 传递性:若 z∈yH, y∈xHz \in yH, \ y \in xH ,则 z∈xHz \in xH 。
  • 若 xH∩yH≠∅xH \cap yH \neq \emptyset ,则 xH=yHxH = yH ;

  • 利用陪集可以对群 GG 进行划分(陪集分解):

    G=⋃g∈RgH(两两不相交之并) G = \bigcup\limits_{g \in R} gH \text{(两两不相交之并)}

  • 对于 a,b∈H,g∈Ga, b \in H, g \in G ,由消去律 a≠b⇔ga≠gba \neq b \Leftrightarrow ga \neq gb ;
  • 因此,∀g∈R, ∣gH∣=∣H∣\forall g \in R, \ |gH| = |H| : ∣G∣=∑g∈R∣gH∣=∑g∈R∣H∣=∣R∣⋅∣H∣ |G| = \sum\limits_{g \in R} |gH| = \sum\limits_{g \in R} |H| = |R| \cdot |H|

拉格朗日定理

设 GG 为有限群,H≤GH \leq G ,则:

∣G∣=[G:H]⋅∣H∣ |G| = [G : H] \cdot |H|

其中 [G:H][G : H] 称为群 HH 对于群 GG 的指数 (index)。

置换

一个集合的置换 (permutation) 即从该集合映射至自身的双射。

σ=(12…nσ(1)σ(2)…σ(n)) \sigma = \left(\begin{array}{cccc} 1 & 2 & \dots & n \\ \sigma(1) & \sigma(2) & \dots & \sigma(n) \end{array}\right)

复合运算: (f∘g)(x)=f(g(x))(f \circ g)(x) = f(g(x))

(123456451362) \left(\begin{array}{cccccc} 1 & 2 & 3 & 4 & 5 & 6 \\ 4 & 5 & 1 & 3 & 6 & 2 \end{array}\right)

1→4→32→5→6 \begin{aligned} 1 & \rightarrow 4 \rightarrow 3 \\ 2 & \rightarrow 5 \rightarrow 6 \end{aligned}

任一置换都能被划分成若干不交的映射链?

轮换表示法

(a1a2…ana2a3…a1)⇒记作(a1a2…an) \left(\begin{array}{cccc} a_1 & a_2 & \dots & a_n \\ a_2 & a_3 & \dots & a_1 \end{array}\right) \xRightarrow{\text{记作}} (a_1 \enspace a_2 \enspace \dots \enspace a_n)

(123456451362)=(143)⋅(256) \left(\begin{array}{cccccc} 1 & 2 & 3 & 4 & 5 & 6 \\ 4 & 5 & 1 & 3 & 6 & 2 \end{array}\right) = (1 \enspace 4 \enspace 3) \cdot (2 \enspace 5 \enspace 6)

若不计轮换内外的次序,对于任意置换的不交轮换分解是唯一的吗?

  • 对于恒等置换,显然分解是唯一的;
  • 对于非恒等置换,∃i  s.t.  σ(i)≠i\exist i \text{ \ s.t. \ } \sigma(i) \neq i 。
    • i→σ(i)→σ2(i)→…i \rightarrow \sigma(i) \rightarrow \sigma^2(i) \rightarrow \dots
    • 由抽屉原理,∃t1<t2  s.t.  σt1(i)=σt2(i)\exist t_1 < t_2 \text{ \ s.t. \ } \sigma^{t_1}(i) = \sigma^{t_2}(i)
    • 令 tt 为使得 σt(i)=i\sigma^t(i) = i 的最小正整数,则: (iσ(i)…σt−1(i)) (i \enspace \sigma(i) \enspace \dots \enspace \sigma^{t - 1}(i)) 是一个轮换。
  • 对于每个这样的 ii 都如此操作即可构造出一个唯一的不相交轮换分解式:
    • 每个元素在分解式中恰好出现 11 次;
    • 每个元素所属于的轮换是固定的。

轮换的幂运算

(123456) (1 \enspace 2 \enspace 3 \enspace 4 \enspace 5 \enspace 6)

(123456)2=(135)⋅(246) \begin{aligned} & (1 \enspace 2 \enspace 3 \enspace 4 \enspace 5 \enspace 6)^2 \\ & = (1 \enspace 3 \enspace 5) \cdot (2 \enspace 4 \enspace 6) \end{aligned}

(123456)3=(14)⋅(25)⋅(36) \begin{aligned} & (1 \enspace 2 \enspace 3 \enspace 4 \enspace 5 \enspace 6)^3 \\ & = (1 \enspace 4) \cdot (2 \enspace 5) \cdot (3 \enspace 6) \end{aligned}

(123456)4=(153)⋅(264) \begin{aligned} & (1 \enspace 2 \enspace 3 \enspace 4 \enspace 5 \enspace 6)^4 \\ & = (1 \enspace 5 \enspace 3) \cdot (2 \enspace 6 \enspace 4) \end{aligned}

σ=(a0a1…an−1) \sigma = (a_0 \enspace a_1 \enspace \dots \enspace a_{n - 1})

  • σt(ai)=a[(i+t) mod n]\sigma^t(a_i) = a_{[(i + t) \bmod n]}
  • 令 k∈N∗  s.t.  σtk(ai)=aik \in N^{*} \text{ \ s.t. \ } \sigma^{tk}(a_i) = a_i :

i+tk≡i(modn) i + tk \equiv i \pmod n

tk≡0(modn) tk \equiv 0 \pmod n

最小正整数解:k=ngcd⁡(n,t)k = \frac{n}{\gcd(n, t)}

σ=(a0a1…an−1) \sigma = (a_0 \enspace a_1 \enspace \dots \enspace a_{n - 1})

  • σt\sigma^t 可表示为 gcd⁡(n,t)\gcd(n, t) 个长为 ngcd⁡(n,t)\frac{n}{\gcd(n, t)} 的轮换;

  • aia_i 所在轮换里第 jj 个元素为 a(i+jt) mod na_{(i + jt) \bmod n} 。

    • aia_i 所在轮换内元素下标模 gcd⁡(n,t)\gcd(n, t) 均为 ii ;
    • a0,a1,…agcd⁡(n,t)−1a_0, a_1, \dots a_{\gcd(n, t) - 1} 一定位于不同轮换。

置换群

nn 个元的所有置换,在复合运算 ∘\circ 下成群,称作 nn 元对称群 (symmetric group),记作 SnS_n

  • 结合律:(σ∘τ)∘ϕ=σ∘(τ∘ϕ)(\sigma \circ \tau) \circ \phi = \sigma \circ (\tau \circ \phi)
  • 单位元:恒等置换 ϵ∘x=x\epsilon \circ x = x ;
  • 逆元:置换是双射,故必然存在逆置换。

群在集合上的作用

ϕ:G×M⟶M(σ,x)⟼σ∘x \begin{aligned} \phi: G \times M & \longrightarrow M \\ (\sigma, x) & \longmapsto \sigma \circ x \end{aligned}

  • ∀x∈M\forall x \in M 满足:
    • 单位元:∃ϵ∈G  s.t.  ϵ∘x=x\exist \epsilon \in G \text{ \ s.t. \ }\epsilon \circ x = x
    • 结合律:τ∘(σ∘x)=(τ∘σ)∘x\tau \circ (\sigma \circ x) = (\tau \circ \sigma) \circ x

用黑白两色对等边三角形顶点染色,若可通过旋转得到的方案算相同方案,求方案数?

在旋转意义下同构

G={顺时针旋转 0∘,120∘,240∘}M={不考虑同构时的染色方案} \begin{aligned} G& = \{ \text{顺时针旋转 } 0^\circ, 120^\circ, 240^\circ \} \\ M & = \{ \text{不考虑同构时的染色方案} \} \end{aligned}

不考虑同构时的染色方案
等价类?
等价类?

  • 一种等价关系?
  • 借助该等价关系对集合进行划分?
  • 有多少不同的等价类?

轨道

群 GG 作用于集合 MM 上,x∈Mx \in M ,称 MM 的子集

orbG(x)={σ∘x∣σ∈G} \text{orb}_G(x) = \{ \sigma \circ x \mid \sigma \in G \}

为 xx 在 GG 作用下的轨道 (orbit),简称过 xx 的轨道。

  • GG 中置换作用于元素 xx 所能得到的不同结果;
  • ∣orbG(x)∣|\text{orb}_G(x)| : 对于元素 xx 而言,GG 中本质不同置换的种数。

orbG(x)={σ∘x∣σ∈G} \text{orb}_G(x) = \{ \sigma \circ x \mid \sigma \in G \}

x∼y:=x∈orbG(y) x \sim y := x \in \text{orb}_G(y)

  • 自反性:x∈orbG(x)x \in \text{orb}_G(x) ;
  • 对称性:若 y∈orbG(x)y \in \text{orb}_G(x) ,则 x∈orbG(y)x \in \text{orb}_G(y) ;
  • 传递性:若 z∈orbG(y),y∈orbG(x)z \in \text{orb}_G(y), y \in \text{orb}_G(x) ,则 z∈orbG(x)z \in \text{orb}_G(x) 。
  • 若 orbG(x)∩orbG(y)≠∅\text{orb}_G(x) \cap \text{orb}_G(y) \neq \emptyset ,则 orbG(x)=orbG(y)\text{orb}_G(x) = \text{orb}_G(y) ;

  • 在 MM 的每一条轨道上取一个元素组成 MM 的一个子集 RR ,称为 MM 的轨道的代表元集,则:

    M=⋃x∈RorbG(x) M = \bigcup\limits_{x \in R} \text{orb}_G(x)

    并且此中各 orbG(x)\text{orb}_G(x) 互不相交。

稳定子

设群 GG 作用于集合 MM ,对 x∈Mx \in M ,称

stabG(x)={σ∣σ∈G,σ∘x=x} \text{stab}_G(x) = \{ \sigma \mid \sigma \in G, \sigma \circ x = x \}

为群 GG 作用下 xx 的稳定子 (stabilizer)。

  • 所有作用于 xx 后结果仍然为 xx 的置换。

stabG(x)={σ∘x=x∣σ∈G}≤G \text{stab}_G(x) = \{ \sigma \circ x = x \mid \sigma \in G \} \le G

  • 封闭性:∀σ,τ∈stabG(x)\forall \sigma, \tau \in \text{stab}_G(x) ,σ∘τ∘x=σ∘x=x\sigma \circ \tau \circ x = \sigma \circ x = x ,故 (σ∘τ)∈stabG(x)(\sigma \circ \tau) \in \text{stab}_G(x) ;
  • 结合律:显然置换的复合满足结合律;
  • 单位元:恒等置换 ϵ∘x=x\epsilon \circ x = x ;
  • 逆元:∀σ∈stabG(x)\forall \sigma \in \text{stab}_G(x) ,σ−1∘x=σ−1∘(σ∘x)=ϵ(x)=x\sigma^{-1} \circ x = \sigma^{-1} \circ (\sigma \circ x) = \epsilon(x) = x 。

stabG(x)={σ∘x=x∣σ∈G}≤G \text{stab}_G(x) = \{ \sigma \circ x = x \mid \sigma \in G \} \le G

  • 既然是子群,那可以用来对 GG 进行左陪集划分;
  • βstabG(x)\beta \text{stab}_G(x) 里的元素相当于作用于 xx 时 GG 中所有与 β\beta 等价的置换:

βstabG(x)={(β∘σ)∘x=β∘x∣σ∈G} \beta \text{stab}_G(x) = \{ (\beta \circ \sigma) \circ x = \beta \circ x \mid \sigma \in G \}

βstabG(x)={τ∘x=β∘x∣τ∈G} \beta \text{stab}_G(x) = \{ \tau \circ x = \beta \circ x \mid \tau \in G \}

∣G∣=∣stabG(x)∣⋅[G:stabG(x)] |G| = |\text{stab}_G(x)| \cdot [G:\text{stab}_G(x)]

  • ∣orbG(x)∣|\text{orb}_G(x)| :对 xx 而言,GG 中所有本质不同置换种数。
    • 也就是不同的上述陪集的种数!

轨道-稳定子定理

设有限群 GG 作用于集合 MM ,x∈Mx \in M ,则:

∣G∣=∣stabG(x)∣⋅∣orbG(x)∣ |G| = \mid \text{stab}_G(x) \mid \cdot \mid \text{orb}_G(x) \mid

Burnside 引理

设有限群 GG 作用于有限集 MM 上,则轨道数:

∣M/G∣=1∣G∣∑σ∈G∣fix(σ)∣ | M/G | = \frac{1}{|G|} \sum\limits_{\sigma \in G} |\text{fix}(\sigma)|

其中 fix(σ)\text{fix}(\sigma) 代表 σ\sigma 的不动元构成的集合:

fix(σ)={x∣x∈M,σ∘x=x} \text{fix}(\sigma) = \{ x \mid x \in M, \sigma \circ x = x \}

证明

stabG(x)={σ∣σ∈G,σ∘x=x}fix(σ)={x∣x∈M,σ∘x=x} \begin{aligned} \text{stab}_G(x) & = \{ \sigma \mid \sigma \in G, \sigma \circ x = x \} \\ \text{fix}(\sigma) & = \{ x \mid x \in M, \sigma \circ x = x \} \end{aligned}

∑x∈M∣stabG(x)∣=∑σ∈G∣fix(σ)∣ \sum\limits_{x \in M} \mid \text{stab}_G(x) \mid = \sum\limits_{\sigma \in G} \mid \text{fix}(\sigma) \mid

  • 每个轨道对轨道数贡献为 11 ,故 x∈Mx \in M 对答案的贡献为 1∣orbG(x)∣\frac{1}{\mid \text{orb}_G(x) \mid} :

∣M/G∣=∑x∈M1∣orbG(x)∣=∑x∈M∣stabG(x)∣∣G∣(轨道-稳定子定理)=1∣G∣∑σ∈G∣fix(σ)∣ \begin{aligned} | M/G | & = \sum\limits_{x \in M} \frac{1}{ \mid \text{orb}_G(x) \mid } \\ & = \sum\limits_{x \in M}\frac{ \mid \text{stab}_G(x) \mid }{ |G| } \text{(轨道-稳定子定理)} \\ & = \frac{1}{|G|}\sum\limits_{\sigma \in G} \mid \text{fix}(\sigma) \mid \end{aligned}

对正六边形的 66 个顶点,一半涂黑一半涂白。若经旋转可得到的方案算相同方案,求方案数?

M={不计同构的涂色方案}∣M∣=(63)=20 M = \{ \text{不计同构的涂色方案} \} \enspace |M| = \binom{6}{3} = 20

G={顺时针旋转0∘,60∘,120∘,180∘,240∘,300∘} G = \{ \text{顺时针旋转} 0^\circ, 60^\circ, 120^\circ, 180^\circ, 240^\circ, 300^\circ \} \\

记 66 个顶点分别为 A1,A2,…,A6A_1, A_2, \dots, A_6

旋转 0∘0^\circ

(A1A2A3A4A5A6A1A2A3A4A5A6) \left(\begin{array}{cccccc} A_1 & A_2 & A_3 & A_4 & A_5 & A_6 \\ A_1 & A_2 & A_3 & A_4 & A_5 & A_6 \end{array}\right)

将这一置换作用于 MM 中的任意元素都不会使该元素发生变化,故不动元有 2020 个。

旋转 60∘60^\circ

(A1A2A3A4A5A6A6A1A2A3A4A5) \left(\begin{array}{cccccc} A_1 & A_2 & A_3 & A_4 & A_5 & A_6 \\ A_6 & A_1 & A_2 & A_3 & A_4 & A_5 \end{array}\right)

若要成为不动元,则应当满足:

A1=A2=⋯=A6 A_1 = A_2 = \dots = A_6

故没有不动元

旋转 120∘120^\circ

(A1A2A3A4A5A6A5A6A1A2A3A4) \left(\begin{array}{cccccc} A_1 & A_2 & A_3 & A_4 & A_5 & A_6 \\ A_5 & A_6 & A_1 & A_2 & A_3 & A_4 \end{array}\right)

若要成为不动元,则应当满足:

A1=A3=A5, A2=A4=A6 A_1 = A_3 = A_5, \ A_2 = A_4 = A_6

故不动元数量为 22

旋转 180∘180^\circ

(A1A2A3A4A5A6A4A5A6A1A2A3) \left(\begin{array}{cccccc} A_1 & A_2 & A_3 & A_4 & A_5 & A_6 \\ A_4 & A_5 & A_6 & A_1 & A_2 & A_3 \end{array}\right)

若要成为不动元,则应当满足:

A1=A4, A2=A5, A3=A6 A_1 = A_4, \ A_2 = A_5, \ A_3 = A_6

故没有不动元

  • 旋转 60∘60^\circ 与 旋转 300∘300^\circ 情形相似;
  • 旋转 120∘120^\circ 与 旋转 240∘240^\circ 情形相似。

轨道数:16(20+2+2)=4\frac{1}{6}(20 + 2 + 2) = 4

Pólya 计数定理

  • 将置换表示为若干轮换乘积,若轮换内元素颜色均相同即为不动元(这样才能保证每一个点变成新点后的颜色与原先一致);
  • 记染色可选的颜色数为 mm , c(σ)c(\sigma) 为置换 σ\sigma 被分解为不交轮换乘积的个数,则:

fix(σ)=mc(σ) \text{fix}(\sigma) = m^{c(\sigma)}

∣M/G∣=1∣G∣∑σ∈Gmc(σ) | M/G | = \frac{1}{|G|} \sum\limits_{\sigma \in G} m^{c(\sigma)}

小结

项链染色

长为 nn 的环,mm 种颜色对环上元素染色,经旋转或翻转都算作相同方案

n,m≤109n, m \le 10^9

分析

G={顺时针旋转2πn,…,(n−1)2πn,2π,过每一条对称轴的翻转 }M={不考虑同构的所有染色方案} \begin{aligned} G & = \{ \text{顺时针旋转} \frac{2\pi}{n}, \dots, (n - 1)\frac{2\pi}{n}, 2\pi, \\ & \text{过每一条对称轴的翻转 } \} \\ M & = \{ \text{不考虑同构的所有染色方案} \} \end{aligned}

GG 作用于 MM

GG 中复合运算封闭吗?

若将环上的元素按顺时针编号:0,1,…(n−1)0, 1, \dots (n - 1)

  • 顺时针旋转 k2πnk \frac{2\pi}{n} :σk(i)=(i+k) mod n\sigma_k(i) = (i + k) \bmod n ;
  • 沿过点 aa 的对称轴翻转: τa(i)={ii=a  or  a 对面的点 (2a−i) mod n otherwise  \tau_a(i) = \begin{cases} i & i = a \text{ \ or \ } a \text{ 对面的点 } \\ (2a - i) \bmod n & \text{ otherwise } \end{cases}
  • 注:若 nn 为偶数,则翻转对称轴可能同时过两条边的中点。这等同于共有 2n2n 个点且不考虑此类对称轴的情况,故下面暂不考虑这种对称轴。
  • 考虑 i≠ai \neq a 的情况(i=ai = a 显然封闭),若 2∣k2 \mid k : σk∘τa∘i=(2a−i+k) mod n=τ(a+k2) mod n \sigma_k \circ \tau_a \circ i = (2a - i + k) \bmod n = \tau_{(a + \frac{k}{2}) \bmod n}
  • 考虑 i≠ai \neq a 的情况(i=ai = a 显然封闭),若 2∤k2 \nmid k : σk∘τa∘i=(2a−i+k) mod n=τ(a+n+k2) mod n \sigma_k \circ \tau_a \circ i = (2a - i + k) \bmod n = \tau_{(a + \frac{n + k}{2}) \bmod n}

旋转

  • 旋转置换一共 nn 种;
  • 旋转 2πn\frac{2\pi}{n} 时只能分解成一个不交轮换;
  • 旋转 i2πni \frac{2\pi}{n} 可看作前者的 ii 次幂,故可拆成 gcd⁡(n,i)\gcd(n, i) 个轮换:

∑σ∣fix(σ)∣=∑i=1nmgcd⁡(n,i) \sum\limits_{\sigma} \mid \text{fix}(\sigma) \mid = \sum\limits_{i = 1}^{n} m^{\gcd(n, i)}

∑g∈G∣fix(σ)∣=∑i=1nmgcd⁡(n,i)=∑d∣nmd∑i=1n[gcd⁡(n,i)=d]=∑d∣nmd∑i=1nd[gcd⁡(nd,i)=1]=∑d∣nmd⋅φ(nd) \begin{aligned} \sum\limits_{g \in G} \mid \text{fix}(\sigma) \mid & = \sum\limits_{i = 1}^{n} m^{\gcd(n, i)} \\ & = \sum\limits_{d \mid n} m^d \sum\limits_{i = 1}^{n} [ \gcd(n, i) = d ] \\ & =\sum\limits_{d \mid n} m^d \sum\limits_{i = 1}^{\frac{n}{d}} [ \gcd(\frac{n}{d}, i) = 1 ] \\ & = \sum\limits_{d \mid n} m^d \cdot \varphi(\frac{n}{d}) \end{aligned}

翻转

  • 翻转置换一共 nn 种。
  • nn 为偶数:
    • n2\frac{n}{2} 条过点的对称轴:c(τ)=n2+1c(\tau) = \frac{n}{2} + 1
    • n2\frac{n}{2} 条过边的对称轴:c(τ)=n2c(\tau) = \frac{n}{2} ∑τ∣fix(τ)∣=n2⋅mn2+1+n2⋅mn2 \sum\limits_{\tau} \mid \text{fix}(\tau) \mid = \frac{n}{2} \cdot m^{\frac{n}{2} + 1} + \frac{n}{2} \cdot m^{\frac{n}{2}}
  • nn 为奇数:
    • nn 条 既过点又过边的对称轴:c(τ)=n+12c(\tau) = \frac{n + 1}{2}
    ∑τ∣fix(τ)∣=n⋅mn+12 \sum\limits_{\tau} \mid \text{fix}(\tau) \mid = n \cdot m^{\frac{n + 1}{2}}

结论

∣M/G∣=∑σ∣fix(σ)∣+∑τ∣fix(τ)∣2n=12n∑d∣nmd⋅φ(nd)+12n{n2⋅mn2+1+n2⋅mn22∣nn⋅mn+122∤n \begin{aligned} | M/G | & = \frac{\sum\limits_{\sigma} \mid \text{fix}(\sigma) \mid + \sum\limits_{\tau} \mid \text{fix}(\tau) \mid}{2n} \\ & = \frac{1}{2n}\sum\limits_{d \mid n} m^d \cdot \varphi(\frac{n}{d}) \\ & + \frac{1}{2n} \begin{cases} \frac{n}{2} \cdot m^{\frac{n}{2} + 1} + \frac{n}{2} \cdot m^{\frac{n}{2}} & 2 \mid n \\ n \cdot m^{\frac{n + 1}{2}} & 2 \nmid n \end{cases} \end{aligned}

复杂度:O(d(n)⋅n)\mathcal{O}(d(n) \cdot \sqrt{n}) ,d(n)d(n) 代表 nn 的约数个数。

南昌 J. Summon

现要从 44 种不同的水晶中取 nn 个围成一个圈,但有 mm 个限制条件:每条限制条件要求某四种水晶不能在围成的圈中连续出现。通过旋转可互相得到的方案算作一种方案,问有多少种本质不同的方案?(结果模 998244353998244353 )

n≤105,m≤256n \le 10^5, m \le 256

分析

G={顺时针旋转2πn,…,(n−1)2πn,2π}M={满足限制且不计同构的染色方案} \begin{aligned} G & = \{ \text{顺时针旋转} \frac{2\pi}{n}, \dots, (n - 1)\frac{2\pi}{n}, 2\pi \} \\ M & = \{ \text{满足限制且不计同构的染色方案} \} \end{aligned}

  • 单单把每一个轮换内的所有元素染成相同颜色可能破坏限制条件;
  • 无法直接应用 Pólya 计数定理。
  • 旋转 2πn\frac{2\pi}{n} 只能分解成一个不交轮换;
  • 旋转 i2πni \frac{2\pi}{n} 可看作前者的 ii 次幂,因此:
    • 可表示为 gcd⁡(n,i)\gcd(n, i) 个不交轮换之积;
    • 标号模 gcd⁡(n,i)\gcd(n, i) 结果相同的点在同一轮换内。

对于旋转 i2πni \frac{2\pi}{n} 这一置换,只需确定前 gcd⁡(n,i)\gcd(n, i) 个元素的颜色即可知道该置换下不动元数量!

DP 求不动元数量

  • 记 v⟨a,b,c,d⟩\text{v} \langle a, b, c, d \rangle 代表是否允许 a,b,c,da, b, c, d 四种颜色相邻;

v⟨a,b,c,d⟩={0不允许 a,b,c,d 相邻1允许 a,b,c,d 相邻 \text{v} \langle a, b, c, d \rangle = \begin{cases} 0 & \text{不允许 } a, b, c, d \text{ 相邻} \\ 1 & \text{允许 } a, b, c, d \text{ 相邻} \end{cases}

  • 记 dp⟨i,a,b,c⟩\text{dp} \langle i, a, b, c \rangle 代表 ii 个元素排成一排,最后 33 个元素的颜色分别为 a,b,ca, b, c 的方案数: dp⟨i,a,b,c⟩=∑kv⟨k,a,b,c⟩⋅dp⟨i−1,k,a,b⟩ \text{dp} \langle i, a, b, c \rangle = \sum\limits_{k} \text{v} \langle k, a, b, c \rangle \cdot \text{dp} \langle i - 1, k, a, b \rangle
  • 枚举前 33 个元素的颜色 ⟨a,b,c⟩\langle a, b, c \rangle :
    • 只初始化 dp⟨3,a,b,c⟩=1\text{dp} \langle 3, a, b, c \rangle = 1 ;
    • dp⟨m+3,a,b,c⟩\text{dp} \langle m + 3, a, b, c \rangle 即为 mm 个元素围成环时不动元方案数。

矩阵快速幂优化 DP

dp⟨i,a,b,c⟩=∑kv⟨k,a,b,c⟩⋅dp⟨i−1,k,a,b⟩ \text{dp} \langle i, a, b, c \rangle = \sum\limits_{k} \text{v} \langle k, a, b, c \rangle \cdot \text{dp} \langle i - 1, k, a, b \rangle

[dp⟨i,1,1,1⟩dp⟨i,1,1,2⟩⋮dp⟨i,4,4,4⟩]=T⋅[dp⟨i−1,1,1,1⟩dp⟨i−1,1,1,2⟩⋮dp⟨i−1,4,4,4⟩] \begin{aligned} \begin{bmatrix} \text{dp} \langle i, 1, 1, 1 \rangle \\ \text{dp} \langle i, 1, 1, 2 \rangle \\ \vdots \\ \text{dp} \langle i, 4, 4, 4 \rangle \end{bmatrix} \end{aligned} = T \cdot \begin{aligned} \begin{bmatrix} \text{dp} \langle i - 1, 1, 1, 1 \rangle \\ \text{dp} \langle i - 1, 1, 1, 2 \rangle \\ \vdots \\ \text{dp} \langle i - 1, 4, 4, 4 \rangle \end{bmatrix} \end{aligned}

dp⟨i,a,b,c⟩=∑⟨j,k,l⟩T[a,b,c][j,k,l]⋅dp⟨i−1,j,k,l⟩ \text{dp} \langle i, a, b, c \rangle = \sum\limits_{\langle j, k, l \rangle} T[a, b, c][j, k, l] \cdot \text{dp} \langle i - 1, j, k, l \rangle

T[a,b,c][k,a,b]=v⟨k,a,b,c⟩ T[ a, b, c ][ k, a, b ] = \text{v} \langle k, a, b, c \rangle

  • 枚举前三 33 个元素的颜色 ⟨a,b,c⟩\langle a, b, c \rangle 时,初始化: [10⋮0],[01⋮0],…,[00⋮1] \begin{aligned} \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{bmatrix} \end{aligned}, \begin{aligned} \begin{bmatrix} 0 \\ 1 \\ \vdots \\ 0 \end{bmatrix} \end{aligned}, \dots, \begin{aligned} \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 1 \end{bmatrix} \end{aligned}
  • 等价于 TnT^{n} 直接乘上单位矩阵;
  • TnT^{n} 主对角线元素之和即为所有不动元数量。

结论

  • 记 TiT^i 对角线元素之和为 f(i)f(i)
  • 旋转 i2πni \frac{2\pi}{n} 下不动元个数为 f(gcd⁡(n,i))f(\gcd(n, i))

∑σ∈G∣fix(σ)∣=∑i=1nf(gcd⁡(n,i))=∑d∣nf(d)⋅∑i=1n[gcd⁡(n,i)=d]=∑d∣nf(d)⋅φ(nd) \begin{aligned} \sum\limits_{\sigma \in G} \mid \text{fix}(\sigma) \mid & = \sum\limits_{i = 1}^{n} f(\gcd(n, i)) \\ & = \sum\limits_{d \mid n} f(d) \cdot \sum\limits_{i = 1}^{n} [\gcd(n, i) = d] \\ & = \sum\limits_{d \mid n} f(d) \cdot \varphi(\frac{n}{d}) \end{aligned}

  • 复杂度: O(d(n)⋅643log⁡n)\mathcal{O}(d(n) \cdot 64^3\log{n}) ,其中 d(n)d(n) 代表 nn 的约数个数。

无向图同构计数

nn 个点无向完全图,mm 种颜色给边染色,求本质不同的染色方案数。

n≤60, m≤103n \le 60, \ m \le 10^3

  • 两张图若对点重标号后可以重合即为同构;
  • 把边的不存在当作一种颜色可将其推广至一般无向图同构。

分析

G=Sn(n阶对称群), ∣Sn∣=n!M={不计同构的无向图染色方案} \begin{aligned} G & = S_n \enspace (n \text{阶对称群}), \ \mid S_n \mid = n! \\ M & = \{ \text{不计同构的无向图染色方案} \} \end{aligned}

  • 置换是对点的置换,而染色是对边染色;
  • 两点确定一条边,分析边两端点的情况。

两端在同一轮换内的边

σ=(1356)⋅(24) \sigma = (1 \enspace 3 \enspace 5 \enspace 6) \cdot (2 \enspace 4)

  • 对于两端点位于同一点轮换内的边:
    • ⟨1,3⟩→⟨3,5⟩→⟨5,6⟩→⟨6,1⟩\langle 1, 3 \rangle \rightarrow \langle 3 ,5 \rangle \rightarrow \langle 5, 6 \rangle \rightarrow \langle 6, 1 \rangle
    • ⟨1,5⟩→⟨3,6⟩\langle 1, 5 \rangle \rightarrow \langle 3, 6 \rangle
    • ⟨2,4⟩\langle 2, 4 \rangle

(a0a1…al−1) (a_0 \enspace a_1 \enspace \dots \enspace a_{l - 1})

⟨ai,aj⟩→⟨a(i+1) mod l,a(j+1) mod l⟩→… \langle a_i, a_j \rangle \rightarrow \langle a_{(i + 1) \bmod l}, a_{(j + 1) \bmod l} \rangle \rightarrow \dots

{i+t≡i(modl)j+t≡j(modl) \begin{cases} i + t \equiv i \pmod l \\ j + t \equiv j \pmod l \end{cases}

t≡0(modl) t \equiv 0 \pmod l

最小正整数解 t=lt = l ,则边轮换长度至多为 ll 。

(a0a1…al−1) (a_0 \enspace a_1 \enspace \dots \enspace a_{l - 1})

⟨ai,aj⟩→⟨a(i+1) mod l,a(j+1) mod l⟩→… \langle a_i, a_j \rangle \rightarrow \langle a_{(i + 1) \bmod l}, a_{(j + 1) \bmod l} \rangle \rightarrow \dots

{i+t≡j(modl)j+t≡i(modl) \begin{cases} i + t \equiv j \pmod l \\ j + t \equiv i \pmod l \end{cases}

2i≡2j(modl) 2i \equiv 2j \pmod l

  • 若 2∤l2 \nmid l ,则 i≡j(modl)i \equiv j \pmod l ,无法构成边;
  • 若 2∣l2 \mid l ,则 i≡j(modl2)i \equiv j \pmod {\frac{l}{2}} ,最小非负 t=l2t = \frac{l}{2} 。

(a0a1…al−1) (a_0 \enspace a_1 \enspace \dots \enspace a_{l - 1})

  • 对于边 ⟨ai,aj⟩\langle a_i, a_j \rangle 所在的边轮换:
    • 若 2∣l2 \mid l 且 ∣j−i∣=l2\mid j - i \mid = \frac{l}{2} ,则其大小为 l2\frac{l}{2} ;
    • 否则其大小为 ll ;
  • ∣j−i∣ mod l\mid j - i \mid \bmod l 相同的边在同一边轮换内,故边轮换个数为 ⌊l2⌋\lfloor \frac{l}{2} \rfloor 。

两端在不同轮换内的边

σ=(1356)⋅(24) \sigma = (1 \enspace 3 \enspace 5 \enspace 6) \cdot (2 \enspace 4)

  • 两点在不同点轮换里的边:
    • ⟨1,2⟩→⟨3,4⟩→⟨5,2⟩→⟨6,4⟩\langle 1, 2 \rangle \rightarrow \langle 3, 4 \rangle \rightarrow \langle 5, 2 \rangle \rightarrow \langle 6, 4 \rangle
    • ⟨1,4⟩→⟨3,2⟩→⟨5,4⟩→⟨6,2⟩\langle 1, 4 \rangle \rightarrow \langle 3, 2 \rangle \rightarrow \langle 5, 4 \rangle \rightarrow \langle 6, 2 \rangle

(a0a1…al−1)⋅(b0b1…bs−1) (a_0 \enspace a_1 \enspace \dots \enspace a_{l - 1}) \cdot (b_0 \enspace b_1 \enspace \dots \enspace b_{s - 1} )

⟨ai,bj⟩→⟨a(i+1) mod l,b(j+1) mod s⟩→… \langle a_i, b_j \rangle \rightarrow \langle a_{(i + 1) \bmod l}, b_{(j + 1) \bmod s} \rangle \rightarrow \dots

{i+t≡i(modl)j+t≡j(mods) \begin{cases} i + t \equiv i \pmod l \\ j + t \equiv j \pmod s \end{cases}

  • 每个边轮换大小为 lcm(l,s)\text{lcm}(l, s) ,共 lslcm(l,s)=gcd⁡(l,s)\frac{ls}{\text{lcm}(l, s)} = \gcd(l, s) 个。

点轮换与边轮换的关系

σ=∏i=1kci(轮换 ci 长度为 li) \sigma = \prod\limits_{i = 1}^{k} c_i \quad (\text{轮换 } c_i \text{ 长度为 } l_i)

  • 可表示成边轮换的个数: ∑i=1k⌊li2⌋+∑i=1k∑j=i+1kgcd⁡(li,lj) \sum\limits_{i = 1}^{k} \left\lfloor \frac{l_i}{2} \right\rfloor + \sum\limits_{i = 1}^{k}\sum\limits_{j = i + 1}^{k} \gcd(l_i, l_j)
  • 不动元?每个边轮换内的边染色情况应当相同;
  • ∣Sn∣=n!\mid S_n \mid = n! ,没办法枚举每一个置换……
  • 边轮换的个数只跟每个点轮换的大小有关系;
  • 枚举点轮换大小的情况(nn 的拆分方案)?

剪枝

  • 枚举 nn 的拆分方案:

    n=∑i=1kli (l1≤l2≤⋯≤lk) n = \sum\limits_{i = 1}^{k} l_i \ (l_1 \le l_2 \le \dots \le l_k)

  • 每一种拆分方案对应多少点置换?

  • nn 个点分配到轮换内(多重组合数): n!∏i=1kli! \frac{n!}{\prod\limits_{i = 1}^{k} l_i!}
  • 再考虑轮换内的顺序(圆排列):
    • 比如 (123)(1 \enspace 2 \enspace 3) 和 (132)(1 \enspace 3 \enspace 2) 算不同的置换 n!∏i=1kli!⋅∏i=1k(li−1)! \frac{n!}{\prod\limits_{i = 1}^{k} l_i!} \cdot \prod\limits_{i = 1}^{k} (l_i - 1)!
  • 对于长度相等的轮换,其之间的顺序不计。
    • 记共有 ss 种不同长度的轮换,其中第 ii 种轮换的个数为 qiq_i ,则: n!∏i=1kli⋅∏i=1s1qi! \frac{n!}{\prod\limits_{i = 1}^{k} l_i} \cdot \prod\limits_{i = 1}^{s} \frac{1}{q_i!}

结论

  • 对 nn 的每一种拆分方案:n=∑i=1klin = \sum\limits_{i = 1}^{k} l_i
    • l1≤l2≤⋯≤lkl_1 \le l_2 \le \dots \le l_k ;
    • 记共有 ss 种不同长度的轮换,其中第 ii 种轮换的个数为 qiq_i ;
    • 其对应的点轮换数量为:

n!(∏i=1kli)⋅(∏i=1sqi!) \frac{n!}{(\prod\limits_{i = 1}^{k} l_i) \cdot (\prod\limits_{i = 1}^{s} q_i!)}

1∣G∣∑σ∈G∣fix(σ)∣=1n!⋅∑n!(∏i=1kli)⋅(∏i=1sqi!)⋅m∑i=1k⌊li2⌋+∑i=1k∑j=i+1kgcd⁡(li,lj) \begin{aligned} & \frac{1}{|G|} \sum\limits_{\sigma \in G} \mid \text{fix}(\sigma) \mid \\ & = \frac{1}{n!} \cdot \sum\frac{n!}{(\prod\limits_{i = 1}^{k} l_i) \cdot (\prod\limits_{i = 1}^{s} q_i!)} \cdot m^{\sum\limits_{i = 1}^{k} \left\lfloor \frac{l_i}{2} \right\rfloor + \sum\limits_{i = 1}^{k}\sum\limits_{j = i + 1}^{k} \gcd(l_i, l_j)} \end{aligned}

  • 复杂度 O(∑p∈Partition(n)len2(p)⋅log⁡n)\mathcal{O} \left( \sum\limits_{p \in \text{Partition}(n)} \text{len}^2(p) \cdot \log{n} \right)
  • 其实题目数据范围内 Partition(n)\text{Partition}(n) 大小不大…… 所以 O(能过)\mathcal{O}(\text{能过}) 。

思路回顾

  • 置换是对点的置换,均可分解成点轮换之积;
  • 染色对边染色,同一边轮换内边染色方案相同;
  • 点轮换和边轮换之间的关系?
  • 只关心边轮换个数,其只与点轮换的大小情况有关,枚举点轮换的大小情况……

谢谢大家

相关题目 #1

相关题目 #2

参考资料

  • 近世代数引论/冯克勤,李尚志,章璞编著.-3版.-合肥:中国科学技术大学出版社,2009.12
  • 近世代数初步/石生明.-2版.-北京:高等教育出版社,2006.3
  • Contemporary Abstract Algebra/Joseph A. Gallian.-8th Edition
  • 群论初探 - nosta - 博客园