群论浅谈
1. 群
1.1 群的定义
若集合 \(S \not=\varnothing\) 和 \(S\) 上的运算 \(\cdot\) 构成的代数结构 \((S,\cdot)\) 满足以下性质:
-
封闭性:\(\forall a,b\in S,a\cdot b\in S\)
-
结合律:\(\forall a,b,c\in S,(a\cdot b)\cdot c=a\cdot(b\cdot c)\)
-
单位元:\(\exists e\in S,e\cdot a=a\cdot e=a\)
-
逆元:\(\forall a\in S,\exists b\in S,a\cdot b=b\cdot a=e\),称 \(b\) 为 \(a\) 的逆元,记为 \(a^{-1}\)
则称 \((S,\cdot)\) 是一个群。(\(S\) 一定是非空的)
-
交换群:满足交换律的群
-
半群:满足封闭性和结合律(可能不是群)
-
有限群:元素个数有限,元素的个数称为有限群的阶
-
环:\((S,+,\cdot)\) 满足 \((S,+)\) 是交换群,\((S\setminus\{0\},\cdot)\) 是半群(其中 \(0\) 是 \((S,+)\) 的单位元)
-
域:\((S,+,\cdot)\) 满足 \((S,+),(S\setminus\{0\},\cdot)\) 是交换群(其中 \(0\) 是 \((S,+)\) 的单位元)
1.2 群的基本性质
- 一个群的单位元唯一
证明:若有两个单位元 \(e_1,e_2\),则 \(e_1=e_1e_2=e_2\)。
- 若 \(a\cdot x=e\),我们称 \(a\) 是 \(x\) 的左逆元;若 \(x\cdot b=e\) 我们称 \(b\) 是 \(x\) 的右逆元
可以证明,在一个群中,左逆元和右逆元是一样的
证明:不妨设 \(c\cdot a=e\),则 \(x\cdot a=(c\cdot a)\cdot (x\cdot a)=c\cdot(a\cdot x)\cdot a=c\cdot a=e\),即 \(a\) 也是 \(x\) 的右逆元。
- 一个群中 \(x\) 的逆元唯一
证明:若 \(x\) 有两个逆元 \(a,b\),则 \(a=a\cdot x\cdot b=b\)。
- 群中有消去律存在。即 \(\forall a,b,x\in G,ax=bx\iff a=b\)
证明:两边同乘逆元。
1.3 子群及其衍生
抄不动了,直接上 \(Burnside\) 和 \(Polya\) 吧。
2. \(Burnside\)
2.1 内容
假设一个集合 \(X\) 的同构的置换群为 \(G\),那么 \(X\) 在 \(G\) 下的本质不同元素数是 \(|X/G|=\frac{1}{|G|}\sum\limits_{g\in G}|X^g|\),其中 \(|X^g|\) 是 \(X\) 在置换 \(g\) 下的不动点数。
2.2 例题
其实不常见,更常用的是特殊形式下的 \(Burnside\):\(Polya\)。
3. \(Polya\)
3.1 内容
假设一个集合 \(X\) 的同构的置换群为 \(G\),且每个元素有 \(m\) 种选择方案,那么 \(X\) 在 \(G\) 下的本质不同元素数是 \(|X/G|=\frac{1}{|G|}\sum\limits_{g\in G}m^{|X^g|}\),其中 \(|X^g|\) 是 \(X\) 在置换 \(g\) 下的环数。
3.2 例题
[HNOI2009]图的同构计数
\(|G|\) 显然是 \(n!\),而边数太大不好算,考虑利用点的置换计算边的等价类。
-
假设一条边的两端在同一个大小为 \(m\) 的置换环里,那么这个置换环内总共有 \(\lfloor\frac{m}{2}\rfloor\) 个等价类,原因是考虑把这些点围成一个正多边形,有 \(\lfloor\frac{m}{2}\rfloor\) 种长度不同的边,而每一种边算一个等价类。
-
假设一条边的两端分别在大小为 \(x,y\) 的置换环里,那么这两个置换环之间共有 \(\gcd(x,y)\) 个等价类,原因是每条边 \(\text{lcm}(x,y)\) 次后会回到原位,所以一个等价类大小为 \(\text{lcm}(x,y)\),等价类数量就是 \(\gcd(x,y)\)。
又因为我们只关心置换环的大小和数量,不关心里面的数,可以用组合数算贡献,至于大小 dfs 就好了。
[SHOI2006] 有色图
和上题一模一样,把 \(2\) 换成 \(m\) 就行了。
【模板】Pólya 定理
由于只有循环置换,所以 \(|X/G|=\frac{1}{n}\sum\limits_{i=1}^n n^{\gcd(i,n)}\)。
\(\begin{alignedat}{3} |X/G|&=\frac{1}{n}\sum_{i=1}^n n^{\gcd(i,n)}\\ &=\frac{1}{n}\sum_{d=1}^n n^d\sum_{i=1}^n [\gcd(i,n)=d]\\ &=\sum_{d|n} n^{d-1}\phi(\frac{n}{d}) \end{alignedat}\)
直接算即可。
[蓝桥杯 2015 国 B] 模型染色
\(n\le 10\),直接 \(n!\) 枚举置换,对每两个点间检查是否有边判断是不是同构置换,用 \(Polya\) 直接算就行了。
本文来自博客园,作者:mikefeng,转载请注明原文链接:https://www.cnblogs.com/mikefeng/p/17366782.html