Polya定理


涉及的概念有群,置换,置换群,循环,循环节数。

首先可以把群理解为可以满足一定条件和运算的集合。

置换:[1,n]到自身的1-1变换:[1,n]—>[1,n],p: i —> ai , (ai != aj, i != j),即a1...an是[1,n]的一个全排列。可以表示为:



循环:循环是用来表示置换的,一个循环(a1a2...am)表示固定的置换形式:


而且有定理:任一置换可表成若干不相交循环的乘积。比如:


一个循环中元素个数为循环的阶,循环节数即一个置换表示为循环后含有循环的个数,即C(Pi) 表示 置换Pi的循环的个数。


比如有2*2的方阵:

21
34
顺时针旋转90度得如下置换:

(1234->2341)等于循环(1234)它的循环节数为1

顺时针旋转180度得如下置换:

(1234->3412)等于循环(13)(24)它的循环节数为2

顺时针旋转360度得如下置换:

(1234->1234)等于循环(1)(2)(3)(4)它的循环节数为4


对于具体题目应该有具体求循环节数公式,否则一个置换一个置换的求不现实


比如如下题目: POJ - 2409 - Let it Bead - (Polya定理)

题目让求长为s的项链用c种颜色染色共有多少种方案,通过旋转和翻转后相同的方案视为一种

这里每种旋转和翻转都是一种方案,

1.旋转置换.
我们假设依次顺时针旋转1~n个,每种旋转为一种置换,则旋转i个的置换循环节数=gcd(i,n);
2.翻转置换
当n为偶数时,分两种情况,每种情况有n/2种置换,一种是中心轴在两个对称对象上,则每种置换的循环节数为n/2+1,另一种是对称轴两边分别有n/2个对象,则每种置换的循环节数为n/2;
当n为奇数时,有n个置换对称轴就只能在一个对象上,则循环个数为n/2+1;

最后所有循环节数之和/(2*n)就是答案

这里就是用公式来求,具体求循环节有怎么样的公式等多做些题在来更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值