- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
讨论2 :正四面体涂色 给定正四面体,要求给它的4个顶点着m色,问有多少种不同的着色方案,当然通过旋转和翻转得到的着色方案视为相同。 1 2 3 4 z z’ x x’ 置换 单位元素 绕过zz‘轴旋转±120°的置换,(1 2 3)(4), (1 3 2)(4) 5) ,格式为(3)^1(1)^1,同类的置换有8个; 绕过xx‘轴旋转180°的置换,(1 3)(2 4),格式为(2)^2,同类的置换有3个; 1 2 3 4 z z’ x x’ 置换群 群元素个数:12 着色:m色 总着色数 3.Pólya定理 定理3 设G={?1,?2,…,?t}是X={a1,a2,…,an}上一个置换群,用m种颜色对X中的元素进行涂色,那么不同的涂色方案数为 其中Cyc(?k)是置换?k的循环节的个数。 证明:略 循环节个数计算 //输入:一个置换perm,即一个排列 //返回:置换的最小周期,传回待求置换的循环节个数num int polya(int* perm,int n,int num){ int i,j,p,v[MAXN]={0},cycle=1; for (num=i=0;in;i++) if (!v[i]){ //v[i]=0表示元素i尚未处理过 num++; p=i; for (j=0;!v[perm[p]];j++){//j记录当前循环节长度 p=perm[p]; v[p]=1; } cycle*=j/gcd(cycle,j); } return cycle; } 4 实例研究 例1:环 例2:珍珠项链 例3:统计棋局数 例1:环 他在一个环上写了n个字母“X”和“E”。他注意到一些不同的字母序列用循环移动可以变到另一个(这表示这实际上是同一个环形串)。例如,串“XXE”-“XEX”-“EXX”实际上都是相同的。他想知道对于n个字母有多少种不同的环形串出现。请您帮助他找出答案。 输入 每行有一个整数n,(1≤n≤200 000)。 输出 输出长度为n的环形串的个数 输入样例 输出样例 3 4 4 6 分析 环只能顺时针或逆时针旋转 顺时针方向移动k个位置等同于逆时针方向转动n-k个位置 一共有n个置换,记G={?0,?1,?2,…,?n-1} 逆时针旋转k个位置,那么?k= 循环节个数求法 以n=8,k=6时的置换?6= 为例考查循环节个数。 易见,?6=(0642)(1753)有2个循环节。 一般情况下,可以证明?k的循环节个数是GCD(n,k),因此没有必要构建置换(或进行分解)。 长度为n的环形串的个数 根据Pólya定理,长度为n的环形串的个数L= L的数目很大,实际编程时需要自己编写计算幂函数pow(m,x)的程序,可能需要用到高精度计算 例2:珍珠项链 问题描述 n颗红、蓝、绿三种颜色的珍珠串起来形成一个环形项链,(n 24)。如果将沿着中心旋转或者沿对称轴翻转得到的形式认为是相同的,那么有多少种不同的项链形式? 输入 输入有多行,每行一个整数n。最后一行上的-1表示输入结束。 输出 对应于输入中的数据n,输出项链有多少种不同的形式。 示例:三色圆环 输入与输出样例 输入样例 输出样例 4 5 -1 21 39 分析 以项链中心顺时针或逆时针旋转,位置0变到位置i的旋转可表示为: ?i:0?i,1?i+1,2?i+2,3?i+3,…,j?(i+j)%n, …,n-1? (i+(n-1))%n 以项链中心线翻转: (1)n为奇数。此时只有一种形式,即经过某个顶点i与中心的连线为轴的翻转?i,共n个; (2)n为偶数。经过某个顶点与中心的连线为轴的翻转,有n/2个;以顶点i与i+1的中点与中心的连线为轴的翻转,共n/2个; 分析 对任何输入的n,恰有2n种不同的置换。 对于各置换的循环节计算,本题的旋转形式的置换?i,可直接根据置换的形式算出,循环节长度为GCD(i,n); 在无法用公式求循环节长度时,根据求循环节长度的程序实现。 以下程序中,给出一个示例,构造所有置换,并用程序计算置换的循环节长度。 求置换perm的循环节数repetend int cycle(int* perm,int n,int repetend){ int i,j,p,v[MAXN]={0},ret=1; for (repetend=i=0;in;i++) if (!v[i]){ re
您可能关注的文档
最近下载
- 三一SY235C9I2KS维护保养手册.pdf VIP
- 纪念中国人民抗日战争暨世界反法西斯战争胜利80周年PPT课件.pptx VIP
- 陶瓷原料及配方基础.ppt VIP
- 茶小绿叶蝉的防治课件.pptx VIP
- 电梯制造与安装安全规范 GB7588-2003.docx VIP
- 2023民航特种车辆操作工民航特种车辆操作工试卷(练习题库).docx VIP
- IEC 60840-2004 额定电压30kV(Um=36kV)以上至150kV(Um=170kV)挤包绝缘电力电缆及其附件试验方法和要求(中文).pdf VIP
- 22G101 三维彩色立体图集.docx VIP
- 混凝土混凝土.ppt VIP
- 沈萍微生物课件第3章b.ppt VIP
文档评论(0)