置换群和Burnside引理,Polya定理

定义简化版:

置换,就是一个1~n的排列,是一个1~n排列对1~n的映射

置换群,所有的置换的集合。

经常会遇到求本质不同的构造,如旋转不同构,翻转交换不同构等。

不动点:一个置换中,置换后和置换前没有区别的排列

Burnside引理:本质不同的方案数=每个置换下不动点的个数÷置换总数(一个平均值)

Polya定理:一个置换下不动点的个数=颜色^环个数。(辅助Burnside引理,防止枚举不动点复杂度过高)

 

这篇文章写得很详细了(具体的在此不说了):

Burnside引理与Polya定理

 

特殊模型的环个数:

①旋转同构,N个点,每个点移动k步(0<=k<=n-1),环个数gcd(k,N)

证明:

1.对于k是N的约数,显然成立。一个环用N/k个,可以分成N/(N/k)=k个环。gcd(k,N)=k也成立。

2.当k不是N的约数,最小的环长度是:lcm(N,k),环用的端点是:lcm/k个,可以凑成N/(lcm/k)=N*k/lcm=gcd(N,k)个。

证毕。

②对称同构:

奇数个点对称:1+(n-1)/2个(轴一定过一个顶点)

偶数:按边对称:n/2个

按点对称:2+(n-2)/2个。

(证明显然,画图自行理解)

**

 

例题:poj2154 Color

题解:

思路:列出式子,转化每个因子作为gcd的贡献。然后处理成欧拉函数即可。

而且,1/n的分母,因为化简的时候消掉了,不用求逆元之类的。(况且p不是质数,要EXLUCAS。。。)

(类似longge的问题(虽然这篇博客没用欧拉函数):[SDOi2012]longge的问题)

 

[学习笔记]置换群

你可能感兴趣的:(置换,【算法总结】合集,置换,置换群)