浅谈置换群

codgician

2020-03-14

关系

  • 集合的笛卡尔积 (Cartesian product)A×B={(a,b)aA,bB} 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 ,则称 aabb 有关系 RR ,记作 aRbaRb

等价关系

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

  • 自反性aA\forall a \in Aaaa \sim a
  • 对称性a,bA\forall a, b \in A ,若 aba \sim bbab \sim a
  • 传递性a,bA\forall a, b \in A ,若 ab, bca \sim b, \ b \sim c ,则 aca \sim c

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

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

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

等价类

\simAA 上的等价关系,aA\forall a \in A[a][a] 表示 AA 中与 aa 等价的全部元素构成的集合:

[a]={babA} [a] = \{ b \sim a \mid b \in A \}

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

a,bAa, 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]
  • 则有 k1a, k2a, k2bk_1 \sim a, \ k_2 \sim a, \ k_2 \sim b
  • 由传递性得 k1bk_1 \sim b ,与假设不符。
  • 集合 AA 可看作一些两两不相交的等价类的并: A=aR[a](两两不相交之并) A = \bigcup\limits_{a \in R} [a] \text{(两两不相交之并)}
  • AA 上的每个等价关系给出集合 AA 的一个划分 (partition)

(G,)(G, \cdot)

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

  • 结合律:(ab)c=a(bc)(a \cdot b) \cdot c = a \cdot (b \cdot c)
  • 单位元 eeaG, ea=ae=a\forall a \in G, \ ea = ae = a
  • 逆元:aG, bG  s.t.  ab=ba=e\forall a \in G, \ \exist b \in G \text{ \ s.t. \ } ab = ba = e

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

  • 左右逆元相等:
    • xxaa 的左逆元,yyaa 的右逆元,有:

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

  • 满足消去律:
    • a,b,cG, ab=acb=c\forall a, b, c \in G, \ ab = ac \Leftrightarrow b = c

子群

(G,)(G, \cdot) 为群,HHGG 的子集,若 (H,)(H, \cdot) 成群,则称 HHGG子群 (subgroup),记作 HGH \le G

陪集

HGH \leq G ,对于 xGx \in G

  • HH 的一个左陪集 (left coset) xHxHxH={xhhH} xH = \{ x \cdot h \mid h \in H \}
  • HH 的一个右陪集 (right coset) HxHxHx={hxhH} Hx = \{ h \cdot x \mid h \in H \}

xH={xhhH} \begin{aligned} xH & = \{ x \cdot h \mid h \in H \} \end{aligned}

xy:=xyH x \sim y := x \in yH

  • 自反性xxHx \in xH
  • 对称性:若 yxHy \in xH ,则 xyHx \in yH
  • 传递性:若 zyH, yxHz \in yH, \ y \in xH ,则 zxHz \in xH
  • xHyHxH \cap yH \neq \emptyset ,则 xH=yHxH = yH

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

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

  • 对于 a,bH,gGa, b \in H, g \in G ,由消去律 abgagba \neq b \Leftrightarrow ga \neq gb
  • 因此,gR, gH=H\forall g \in R, \ |gH| = |H| : G=gRgH=gRH=RH |G| = \sum\limits_{g \in R} |gH| = \sum\limits_{g \in R} |H| = |R| \cdot |H|

拉格朗日定理

GG 为有限群,HGH \leq G ,则:

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

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

置换

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

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

复合运算: (fg)(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)

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

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

轮换表示法

(a1a2ana2a3a1)记作(a1a2an) \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)σt1(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}

σ=(a0a1an1) \sigma = (a_0 \enspace a_1 \enspace \dots \enspace a_{n - 1})

  • σt(ai)=a[(i+t)modn]\sigma^t(a_i) = a_{[(i + t) \bmod n]}
  • kN  s.t.  σtk(ai)=aik \in N^{*} \text{ \ s.t. \ } \sigma^{tk}(a_i) = a_i

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

tk0(modn) tk \equiv 0 \pmod n

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


σ=(a0a1an1) \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)modna_{(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×MM(σ,x)σx \begin{aligned} \phi: G \times M & \longrightarrow M \\ (\sigma, x) & \longmapsto \sigma \circ x \end{aligned}

  • xM\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 上,xMx \in M ,称 MM 的子集

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

xxGG 作用下的轨道 (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 \}

xy:=xorbG(y) x \sim y := x \in \text{orb}_G(y)

  • 自反性xorbG(x)x \in \text{orb}_G(x)
  • 对称性:若 yorbG(x)y \in \text{orb}_G(x) ,则 xorbG(y)x \in \text{orb}_G(y)
  • 传递性:若 zorbG(y),yorbG(x)z \in \text{orb}_G(y), y \in \text{orb}_G(x) ,则 zorbG(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=xRorbG(x) M = \bigcup\limits_{x \in R} \text{orb}_G(x)

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

稳定子

设群 GG 作用于集合 MM ,对 xMx \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)σ1x=σ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) 里的元素相当于作用于 xxGG 中所有与 β\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 作用于集合 MMxMx \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=1GσGfix(σ) | M/G | = \frac{1}{|G|} \sum\limits_{\sigma \in G} |\text{fix}(\sigma)|

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

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

证明

stabG(x)={σσG,σx=x}fix(σ)={xxM,σ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}

xMstabG(x)=σGfix(σ) \sum\limits_{x \in M} \mid \text{stab}_G(x) \mid = \sum\limits_{\sigma \in G} \mid \text{fix}(\sigma) \mid


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

M/G=xM1orbG(x)=xMstabG(x)G(轨道-稳定子定理)=1GσGfix(σ) \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


旋转 00^\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 个。


旋转 6060^\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

故没有不动元


旋转 120120^\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


旋转 180180^\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

故没有不动元


  • 旋转 6060^\circ 与 旋转 300300^\circ 情形相似;
  • 旋转 120120^\circ 与 旋转 240240^\circ 情形相似。

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

Pólya 计数定理

  • 将置换表示为若干轮换乘积,若轮换内元素颜色均相同即为不动元(这样才能保证每一个点变成新点后的颜色与原先一致);

  • 记染色可选的颜色数为 mmc(σ)c(\sigma) 为置换 σ\sigma 被分解为不交轮换乘积的个数,则:

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

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

小结

项链染色

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

n,m109n, m \le 10^9


分析

G={顺时针旋转2πn,,(n1)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,(n1)0, 1, \dots (n - 1)

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


gGfix(σ)=i=1nmgcd(n,i)=dnmdi=1n[gcd(n,i)=d]=dnmdi=1nd[gcd(nd,i)=1]=dnmdφ(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(τ)=n2mn2+1+n2mn2 \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(τ)=nmn+12 \sum\limits_{\tau} \mid \text{fix}(\tau) \mid = n \cdot m^{\frac{n + 1}{2}}

结论

M/G=σfix(σ)+τfix(τ)2n=12ndnmdφ(nd)+12n{n2mn2+1+n2mn22nnmn+122n \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

n105,m256n \le 10^5, m \le 256

分析

G={顺时针旋转2πn,,(n1)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 求不动元数量

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

va,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}


  • dpi,a,b,c\text{dp} \langle i, a, b, c \rangle 代表 ii 个元素排成一排,最后 33 个元素的颜色分别为 a,b,ca, b, c 的方案数: dpi,a,b,c=kvk,a,b,cdpi1,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
    • 只初始化 dp3,a,b,c=1\text{dp} \langle 3, a, b, c \rangle = 1
    • dpm+3,a,b,c\text{dp} \langle m + 3, a, b, c \rangle 即为 mm 个元素围成环时不动元方案数。

矩阵快速幂优化 DP

dpi,a,b,c=kvk,a,b,cdpi1,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

[dpi,1,1,1dpi,1,1,2dpi,4,4,4]=T[dpi1,1,1,1dpi1,1,1,2dpi1,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}

dpi,a,b,c=j,k,lT[a,b,c][j,k,l]dpi1,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]=vk,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 时,初始化: [100],[010],,[001] \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))

σGfix(σ)=i=1nf(gcd(n,i))=dnf(d)i=1n[gcd(n,i)=d]=dnf(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)643logn)\mathcal{O}(d(n) \cdot 64^3\log{n}) ,其中 d(n)d(n) 代表 nn 的约数个数。

无向图同构计数

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

n60, m103n \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,33,55,66,1\langle 1, 3 \rangle \rightarrow \langle 3 ,5 \rangle \rightarrow \langle 5, 6 \rangle \rightarrow \langle 6, 1 \rangle
    • 1,53,6\langle 1, 5 \rangle \rightarrow \langle 3, 6 \rangle
    • 2,4\langle 2, 4 \rangle

(a0a1al1) (a_0 \enspace a_1 \enspace \dots \enspace a_{l - 1})

ai,aja(i+1)modl,a(j+1)modl \langle a_i, a_j \rangle \rightarrow \langle a_{(i + 1) \bmod l}, a_{(j + 1) \bmod l} \rangle \rightarrow \dots

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

t0(modl) t \equiv 0 \pmod l

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


(a0a1al1) (a_0 \enspace a_1 \enspace \dots \enspace a_{l - 1})

ai,aja(i+1)modl,a(j+1)modl \langle a_i, a_j \rangle \rightarrow \langle a_{(i + 1) \bmod l}, a_{(j + 1) \bmod l} \rangle \rightarrow \dots

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

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

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

(a0a1al1) (a_0 \enspace a_1 \enspace \dots \enspace a_{l - 1})

  • 对于边 ai,aj\langle a_i, a_j \rangle 所在的边轮换:
    • 2l2 \mid lji=l2\mid j - i \mid = \frac{l}{2} ,则其大小为 l2\frac{l}{2}
    • 否则其大小为 ll
  • jimodl\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,23,45,26,4\langle 1, 2 \rangle \rightarrow \langle 3, 4 \rangle \rightarrow \langle 5, 2 \rangle \rightarrow \langle 6, 4 \rangle
    • 1,43,25,46,2\langle 1, 4 \rangle \rightarrow \langle 3, 2 \rangle \rightarrow \langle 5, 4 \rangle \rightarrow \langle 6, 2 \rangle

(a0a1al1)(b0b1bs1) (a_0 \enspace a_1 \enspace \dots \enspace a_{l - 1}) \cdot (b_0 \enspace b_1 \enspace \dots \enspace b_{s - 1} )

ai,bja(i+1)modl,b(j+1)mods \langle a_i, b_j \rangle \rightarrow \langle a_{(i + 1) \bmod l}, b_{(j + 1) \bmod s} \rangle \rightarrow \dots

{i+ti(modl)j+tj(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=1kli2+i=1kj=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 (l1l2lk) 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(li1)! \frac{n!}{\prod\limits_{i = 1}^{k} l_i!} \cdot \prod\limits_{i = 1}^{k} (l_i - 1)!
  • 对于长度相等的轮换,其之间的顺序不计。
    • 记共有 ss 种不同长度的轮换,其中第 ii 种轮换的个数为 qiq_i ,则: n!i=1klii=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
    • l1l2lkl_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!)}


1GσGfix(σ)=1n!n!(i=1kli)(i=1sqi!)mi=1kli2+i=1kj=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(pPartition(n)len2(p)logn)\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 - 博客园