Problem
起源:
SGU 294 He’s Circle
遗憾的是,被吃了。
Poj有道类似的:
Mission
一个长度为 n(1≤n≤24) 的环由 0,1,2 组成,求有多少本质不同的环。
实际上,如果使用高精度,那么n可以到1e6级别
群
定义
一个集合
G
,以及一个二元运算
并且满足:
封闭性
如果 a∈G,b∈G ,那么 a∗b∈G
结合律
如果 a∈G,b∈G,c∈G ,那么 a∗b∗c=a∗(b∗c)
存在单位元
存在
c∈G
,使得
b∗c=c∗b=c
那么
c
就称为
类似于加法运算中的0,乘法运算中的1。
逆元
对于任意
a∈G
,都有
a−1
使得
a∗a−1=a−1∗a=c
其中
c
是单位元。
那么
不一定满足交换律
我们称呼包含
置换
置换相当于一个排列的一一映射。
例如:
是置换,而
(52332411)
就不是置换。
置换群
由置换组成的集合,运算是置换的连接。
置换的连接
例子:
(12233441)∗(12233441)=(12233441)∗(23344112)=(13243142)
正片开始
Burnside引理
已知一个n阶置换群
a
;
求在其作用下有多少种本质不同的染色方案
结论
其中 D(ai) 表示在第 i 个置换的作用下,
有多少个染色方案置换后不变。
Back to the Problem
一个长度为
我们考虑构造这样的n阶置换群:
每一种旋转都当作是一个置换,那么就有
n
个置换,就构成个群。
例如,旋转
利用burnside引理,
我们可以先枚举出所有的
3n
染色方案,然后判断有多少种旋转可以使它旋转后不变。
但这显然是时间超限的。
我们需要进一步找出更好的性质。
Pólya计数法
循环
定义n阶循环是一种置换满足,
用循环表示旋转
题目中的,假设
n=4
:
那么置换群就有,以下四种置换:
用旋转表示置换,通俗地, 例如:
简单来讲就是,类似于环状的东西。
我们用 C(ai) 表示 ai 存在多少个 循环:
简单起见,
我们称循环里编号最小的珠子的编号,为循环的 起始位置。
结论
处于同一循环的珠子的颜色必须是相同的,才能使得置换后不变
显然,证明略;
这样可以简化burnside引理的对于
D(ai)
运算。
但仍然不够,需要更特殊的性质。
专门针对旋转的Pólya计数法
旋转i个珠子对应的置换共有gcd(n,i)个循环,且其中每个循环的起始位置都依次相邻
证明:
设第
u
个珠子与第
x,y
是未知数。
则有
裴蜀定理:ax+by=c,那么gcd(a,b)|c,其中a,b,x,y,c都是质数。
由裴蜀定理,
想要令
u
和
v−u
就有
0..gcd(n,i)−1
这
gcd(n,i)
种取值,
且取值都是连续的。
所以,共有
gcd(n,i)
个循环的起始位置,且其中每个循环的起始位置都依次相邻。
得证。
True Back
有了这个特殊的性质,这道题就躺着做。
由,同一置换中,每个循环都可以染
3
种颜色,则有