tk≡0(modn)
最小正整数解:k=gcd(n,t)n
:::
σ=(a0a1…an−1)
σt
可表示为 gcd(n,t)
个长为 gcd(n,t)n
的轮换;
ai
所在轮换里第 j
个元素为 a(i+jt)modn
。
- ai
所在轮换内元素下标模 gcd(n,t)
均为 i
;
- a0,a1,…agcd(n,t)−1
一定位于不同轮换。:::
置换群
n
个元的所有置换,在复合运算 ∘
下成群,称作 n
元对称群 (symmetric
group),记作 Sn
- 结合律:(σ∘τ)∘ϕ=σ∘(τ∘ϕ)
- 单位元:恒等置换 ϵ∘x=x
;
- 逆元:置换是双射,故必然存在逆置换。
群在集合上的作用
ϕ:G×M(σ,x)⟶M⟼σ∘x
- ∀x∈M
满足:
- 单位元:∃ϵ∈G s.t. ϵ∘x=x
- 结合律:τ∘(σ∘x)=(τ∘σ)∘x
用黑白两色对等边三角形顶点染色,若可通过旋转得到的方案算相同方案,求方案数?
在旋转意义下同构
GM={顺时针旋转 0∘,120∘,240∘}={不考虑同构时的染色方案}
不考虑同构时的染色方案
G×M
等价类?
等价类?
![]()
- 一种等价关系?
- 借助该等价关系对集合进行划分?
- 有多少不同的等价类?
轨道
群 G
作用于集合 M
上,x∈M
,称 M
的子集
orbG(x)={σ∘x∣σ∈G}
为 x
在 G
作用下的轨道 (orbit),简称过 x
的轨道。
- G
中置换作用于元素 x
所能得到的不同结果;
- ∣orbG(x)∣
: 对于元素 x
而言,G
中本质不同置换的种数。
orbG(x)={σ∘x∣σ∈G}
x∼y:=x∈orbG(y)
- 自反性:x∈orbG(x)
;
- 对称性:若 y∈orbG(x)
,则 x∈orbG(y)
;
- 传递性:若 z∈orbG(y),y∈orbG(x)
,则
z∈orbG(x)
。
若 orbG(x)∩orbG(y)=∅
,则
orbG(x)=orbG(y)
;
在 M
的每一条轨道上取一个元素组成 M
的一个子集 R
,称为 M
的轨道的代表元集,则:
M=x∈R⋃orbG(x)
并且此中各 orbG(x)
互不相交。
稳定子
设群 G
作用于集合 M
,对 x∈M
,称
stabG(x)={σ∣σ∈G,σ∘x=x}
为群 G
作用下 x
的稳定子 (stabilizer)。
- 所有作用于 x
后结果仍然为 x
的置换。
G×M
stabG(x)={σ∘x=x∣σ∈G}≤G
- 封闭性:∀σ,τ∈stabG(x)
,σ∘τ∘x=σ∘x=x
,故
(σ∘τ)∈stabG(x)
;
- 结合律:显然置换的复合满足结合律;
- 单位元:恒等置换 ϵ∘x=x
;
- 逆元:∀σ∈stabG(x)
,σ−1∘x=σ−1∘(σ∘x)=ϵ(x)=x
。
stabG(x)={σ∘x=x∣σ∈G}≤G
- 既然是子群,那可以用来对 G
进行左陪集划分;
- βstabG(x)
里的元素相当于作用于 x
时 G
中所有与 β
等价的置换:
βstabG(x)={(β∘σ)∘x=β∘x∣σ∈G}
βstabG(x)={τ∘x=β∘x∣τ∈G}
∣G∣=∣stabG(x)∣⋅[G:stabG(x)]
- ∣orbG(x)∣
:对 x
而言,G
中所有本质不同置换种数。
轨道-稳定子定理
设有限群 G
作用于集合 M
,x∈M
,则:
∣G∣=∣stabG(x)∣⋅∣orbG(x)∣
Burnside 引理
设有限群 G
作用于有限集 M
上,则轨道数:
∣M/G∣=∣G∣1σ∈G∑∣fix(σ)∣
其中 fix(σ)
代表 σ
的不动元构成的集合:
fix(σ)={x∣x∈M,σ∘x=x}
证明
stabG(x)fix(σ)={σ∣σ∈G,σ∘x=x}={x∣x∈M,σ∘x=x}
x∈M∑∣stabG(x)∣=σ∈G∑∣fix(σ)∣
- 每个轨道对轨道数贡献为 1
,故 x∈M
对答案的贡献为
∣orbG(x)∣1
:
∣M/G∣=x∈M∑∣orbG(x)∣1=x∈M∑∣G∣∣stabG(x)∣(轨道-稳定子定理)=∣G∣1σ∈G∑∣fix(σ)∣
对正六边形的 6
个顶点,一半涂黑一半涂白。若经旋转可得到的方案算相同方案,求方案数?
M={不计同构的涂色方案}∣M∣=(36)=20
G={顺时针旋转0∘,60∘,120∘,180∘,240∘,300∘}
记 6
个顶点分别为 A1,A2,…,A6
旋转 0∘
(A1A1A2A2A3A3A4A4A5A5A6A6)
将这一置换作用于 M
中的任意元素都不会使该元素发生变化,故不动元有 20
个。
旋转 60∘
(A1A6A2A1A3A2A4A3A5A4A6A5)
若要成为不动元,则应当满足:
A1=A2=⋯=A6
故没有不动元
旋转 120∘
(A1A5A2A6A3A1A4A2A5A3A6A4)
若要成为不动元,则应当满足:
A1=A3=A5, A2=A4=A6
故不动元数量为 2
旋转 180∘
(A1A4A2A5A3A6A4A1A5A2A6A3)
若要成为不动元,则应当满足:
A1=A4, A2=A5, A3=A6
故没有不动元
- 旋转 60∘
与 旋转 300∘
情形相似;
- 旋转 120∘
与 旋转 240∘
情形相似。
轨道数:61(20+2+2)=4
Pólya 计数定理
小结
- 关系 | 等价关系 |
等价类
- 对集合分类:等价类 [a]
内的元素都与存在 a
等价关系;
- 群 | 子群 | 陪集
- 对群分类:陪集 gH
里的所有元素都与 g
存在等价关系;
- 群在集合上的作用
项链染色
长为 n
的环,m
种颜色对环上元素染色,经旋转或翻转都算作相同方案
n,m≤109
分析
GM={顺时针旋转n2π,…,(n−1)n2π,2π,过每一条对称轴的翻转 }={不考虑同构的所有染色方案}
G
作用于 M
若将环上的元素按顺时针编号:0,1,…(n−1)
- 顺时针旋转 kn2π
:σk(i)=(i+k)modn
;
- 沿过点 a
的对称轴翻转:
τa(i)={i(2a−i)modni=a or a 对面的点 otherwise
- 注:若 n
为偶数,则翻转对称轴可能同时过两条边的中点。这等同于共有 2n
个点且不考虑此类对称轴的情况,故下面暂不考虑这种对称轴。
- 考虑 i=a
的情况(i=a
显然封闭),若 2∣k
:
σk∘τa∘i=(2a−i+k)modn=τ(a+2k)modn
- 考虑 i=a
的情况(i=a
显然封闭),若 2∤k
:
σk∘τa∘i=(2a−i+k)modn=τ(a+2n+k)modn
旋转
- 旋转置换一共 n
种;
- 旋转 n2π
时只能分解成一个不交轮换;
- 旋转 in2π
可看作前者的 i
次幂,故可拆成 gcd(n,i)
个轮换:
σ∑∣fix(σ)∣=i=1∑nmgcd(n,i)
g∈G∑∣fix(σ)∣=i=1∑nmgcd(n,i)=d∣n∑mdi=1∑n[gcd(n,i)=d]=d∣n∑mdi=1∑dn[gcd(dn,i)=1]=d∣n∑md⋅φ(dn)
翻转
- 翻转置换一共 n
种。
- n
为偶数:
- 2n
条过点的对称轴:c(τ)=2n+1
- 2n
条过边的对称轴:c(τ)=2n
τ∑∣fix(τ)∣=2n⋅m2n+1+2n⋅m2n
- n
为奇数:
- n
条 既过点又过边的对称轴:c(τ)=2n+1
τ∑∣fix(τ)∣=n⋅m2n+1
结论
∣M/G∣=2nσ∑∣fix(σ)∣+τ∑∣fix(τ)∣=2n1d∣n∑md⋅φ(dn)+2n1{2n⋅m2n+1+2n⋅m2nn⋅m2n+12∣n2∤n
复杂度:O(d(n)⋅n)
,d(n)
代表 n
的约数个数。
南昌 J. Summon
现要从 4
种不同的水晶中取 n
个围成一个圈,但有 m
个限制条件:每条限制条件要求某四种水晶不能在围成的圈中连续出现。通过旋转可互相得到的方案算作一种方案,问有多少种本质不同的方案?(结果模
998244353
)
n≤105,m≤256
分析
GM={顺时针旋转n2π,…,(n−1)n2π,2π}={满足限制且不计同构的染色方案}
- 单单把每一个轮换内的所有元素染成相同颜色可能破坏限制条件;
- 无法直接应用 Pólya 计数定理。
- 旋转 n2π
只能分解成一个不交轮换;
- 旋转 in2π
可看作前者的 i
次幂,因此:
- 可表示为 gcd(n,i)
个不交轮换之积;
- 标号模 gcd(n,i)
结果相同的点在同一轮换内。
对于旋转 in2π
这一置换,只需确定前 gcd(n,i)
个元素的颜色即可知道该置换下不动元数量!
DP 求不动元数量
- 记 v⟨a,b,c,d⟩
代表是否允许 a,b,c,d
四种颜色相邻;
v⟨a,b,c,d⟩={01不允许 a,b,c,d 相邻允许 a,b,c,d 相邻
- 记 dp⟨i,a,b,c⟩
代表 i
个元素排成一排,最后 3
个元素的颜色分别为 a,b,c
的方案数:
dp⟨i,a,b,c⟩=k∑v⟨k,a,b,c⟩⋅dp⟨i−1,k,a,b⟩
- 枚举前 3
个元素的颜色 ⟨a,b,c⟩
:
- 只初始化 dp⟨3,a,b,c⟩=1
;
- dp⟨m+3,a,b,c⟩
即为 m
个元素围成环时不动元方案数。
矩阵快速幂优化 DP
dp⟨i,a,b,c⟩=k∑v⟨k,a,b,c⟩⋅dp⟨i−1,k,a,b⟩
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⟩
dp⟨i,a,b,c⟩=⟨j,k,l⟩∑T[a,b,c][j,k,l]⋅dp⟨i−1,j,k,l⟩
T[a,b,c][k,a,b]=v⟨k,a,b,c⟩
- 枚举前三 3
个元素的颜色 ⟨a,b,c⟩
时,初始化:
10⋮0,01⋮0,…,00⋮1
- 等价于 Tn
直接乘上单位矩阵;
- Tn
主对角线元素之和即为所有不动元数量。
结论
- 记 Ti
对角线元素之和为 f(i)
- 旋转 in2π
下不动元个数为 f(gcd(n,i))
σ∈G∑∣fix(σ)∣=i=1∑nf(gcd(n,i))=d∣n∑f(d)⋅i=1∑n[gcd(n,i)=d]=d∣n∑f(d)⋅φ(dn)
- 复杂度: O(d(n)⋅643logn)
,其中 d(n)
代表 n
的约数个数。
无向图同构计数
n
个点无向完全图,m
种颜色给边染色,求本质不同的染色方案数。
n≤60, m≤103
- 两张图若对点重标号后可以重合即为同构;
- 把边的不存在当作一种颜色可将其推广至一般无向图同构。
分析
GM=Sn(n阶对称群), ∣Sn∣=n!={不计同构的无向图染色方案}
- 置换是对点的置换,而染色是对边染色;
- 两点确定一条边,分析边两端点的情况。
两端在同一轮换内的边
σ=(1356)⋅(24)
- 对于两端点位于同一点轮换内的边:
- ⟨1,3⟩→⟨3,5⟩→⟨5,6⟩→⟨6,1⟩
- ⟨1,5⟩→⟨3,6⟩
- ⟨2,4⟩
(a0a1…al−1)
⟨ai,aj⟩→⟨a(i+1)modl,a(j+1)modl⟩→…
{i+t≡i(modl)j+t≡j(modl)
t≡0(modl)
最小正整数解 t=l
,则边轮换长度至多为 l
。
(a0a1…al−1)
⟨ai,aj⟩→⟨a(i+1)modl,a(j+1)modl⟩→…
{i+t≡j(modl)j+t≡i(modl)
2i≡2j(modl)
- 若 2∤l
,则 i≡j(modl)
,无法构成边;
- 若 2∣l
,则 i≡j(mod2l)
,最小非负
t=2l
。
(a0a1…al−1)
- 对于边 ⟨ai,aj⟩
所在的边轮换:
- 若 2∣l
且 ∣j−i∣=2l
,则其大小为 2l
;
- 否则其大小为 l
;
- ∣j−i∣modl
相同的边在同一边轮换内,故边轮换个数为
⌊2l⌋
。
两端在不同轮换内的边
σ=(1356)⋅(24)
- 两点在不同点轮换里的边:
- ⟨1,2⟩→⟨3,4⟩→⟨5,2⟩→⟨6,4⟩
- ⟨1,4⟩→⟨3,2⟩→⟨5,4⟩→⟨6,2⟩
(a0a1…al−1)⋅(b0b1…bs−1)
⟨ai,bj⟩→⟨a(i+1)modl,b(j+1)mods⟩→…
{i+t≡i(modl)j+t≡j(mods)
- 每个边轮换大小为 lcm(l,s)
,共
lcm(l,s)ls=gcd(l,s)
个。
点轮换与边轮换的关系
σ=i=1∏kci(轮换 ci 长度为 li)
- 可表示成边轮换的个数:
i=1∑k⌊2li⌋+i=1∑kj=i+1∑kgcd(li,lj)
- 不动元?每个边轮换内的边染色情况应当相同;
- ∣Sn∣=n!
,没办法枚举每一个置换……
- 边轮换的个数只跟每个点轮换的大小有关系;
- 枚举点轮换大小的情况(n
的拆分方案)?
剪枝
- n
个点分配到轮换内(多重组合数):
i=1∏kli!n!
- 再考虑轮换内的顺序(圆排列):
- 比如 (123)
和 (132)
算不同的置换
i=1∏kli!n!⋅i=1∏k(li−1)!
- 对于长度相等的轮换,其之间的顺序不计。
- 记共有 s
种不同长度的轮换,其中第 i
种轮换的个数为 qi
,则:
i=1∏klin!⋅i=1∏sqi!1
结论
- 对 n
的每一种拆分方案:n=i=1∑kli
- l1≤l2≤⋯≤lk
;
- 记共有 s
种不同长度的轮换,其中第 i
种轮换的个数为 qi
;
- 其对应的点轮换数量为:
(i=1∏kli)⋅(i=1∏sqi!)n!
∣G∣1σ∈G∑∣fix(σ)∣=n!1⋅∑(i=1∏kli)⋅(i=1∏sqi!)n!⋅mi=1∑k⌊2li⌋+i=1∑kj=i+1∑kgcd(li,lj)
- 复杂度
O(p∈Partition(n)∑len2(p)⋅logn)
- 其实题目数据范围内 Partition(n)
大小不大…… 所以
O(能过)
。
思路回顾
- 置换是对点的置换,均可分解成点轮换之积;
- 染色对边染色,同一边轮换内边染色方案相同;
- 点轮换和边轮换之间的关系?
- 只关心边轮换个数,其只与点轮换的大小情况有关,枚举点轮换的大小情况……
参考资料
- 近世代数引论/冯克勤,李尚志,章璞编著.-3版.-合肥:中国科学技术大学出版社,2009.12
- 近世代数初步/石生明.-2版.-北京:高等教育出版社,2006.3
- Contemporary Abstract Algebra/Joseph A. Gallian.-8th Edition
- 群论初探 - nosta - 博客园