pku2409Let it Bead

来源:互联网 发布:2017美工电脑配置要求 编辑:程序博客网 时间:2024/04/27 16:53

题目:pku2409

 

题意:本题的简化版为pku1286,是用c种颜色不同的珠子,可以造多少种不同的长度为s的手链。

 

方法:置换群和POLYA定理

 

介绍:

  

 

GN个对象上的置换群,用M种颜色涂染这N个对象,则不同的染色方案数为:

     LG =( Mλ(g1)+Mλ(g2)++Mλ(gp))/|G|                       

其中G=g1,g2, gp, λ(gk)为置换gk的轮换的个数。

注意:

l       置换中轮换的个数和轮换的长度求解。

l       置换群中元素的介的求法。

l       优化问题等等。

*旋转:N个点顺时针(或逆时针)旋转i个位置的置换,轮转个数为gcd(N, i)

*翻转:

   1.当N为偶数时:

      对称轴不过顶点:轮转个数为N/2

      对称轴过顶点:轮转个数为N/2+1

   2.当N为奇数时,轮转个数为(N+1/2

 

代码:参考SHP00001

 

 

原创粉丝点击