Burnside&Polya
以前只是直接用了这两个式子。。今天才仔细看了证明。。【网上的真是难懂啊
我看的几个博客地址(各有优缺): 其实如果能懂的话 只看博客B就可以了
首先是一些置换群方面的定义和性质 博客A:http://blog.csdn.net/xym_CSDN/article/details/53456447
然后是burnside的证明 博客B:http://blog.csdn.net/gengmingrui/article/details/50564027
还有两个定理的式子和举例 博客C:http://blog.csdn.net/liangzhaoyang1/article/details/72639208
但是对于博客B,我看的时候遇到了几个问题
1、 设G={a1,a2,…ag}是目标集[1,n]上的置换群。
这里涉及到两个集合 一个是置换群,一个是目标集
目标集是一个状态集合, 在OI中举个例子 {
m个格子黑白染色, 状态数有2^m种, 每一种都是目标集中的一个元素,所以[1,n]实际上是[1,2^m];
而置换就可以理解为 两个状态之间的有向边。 比如1001这种染色状态,经过(1 2 3)(4)的置换后,变成0101
}
2、 c1(ak)是在置换ak的作用下不动点的个数,也就是长度为1的循环的个数(其实就是被置换ak置换过后位置不变的元素个数)
因为这句话,我之前一直误以为是不动点是: 比如置换ak=(1 2 3)(4)中的那个4 。
然而实际上。比如1001这种染色状态,经过置换ak=(1 4)(2 3)的置换后,变成1001 ,所以‘1001’这个元素是置换ak的一个不动点。
3、 轨道大小*稳定化子数=变换个数
这个的证明在博客A的最后有
。
。
。
贴一下来自博客C的式子:
Burnside引理:
对于一个置换f,若一个染色方案s经过置换后不变,称s为f的不动点。将f的不动点数目记为C(f),则可以证明等价类数目为所有C(f)的平均值。
百度百科的定义:
设G=a1,a2,…ag是目标集[1,n]上的置换群。每个置换都写成不相交循环的乘积。c1(ak)是在置换ak的作用下不动点的个数。通过上述置换的变换操作后可以相等的元素属于同一个等价类。若G将[1,n]划分成l个等价类,则:
Polya定理 :
polya定理实际上是burnside引理的具体化,提供了计算不动点的具体方法。
假设一个置换有k个循环,易知每个循环对应的所有位置颜色需一致,而任意两个循环之间选什么颜色互不影响。因此,如果有m种可选颜色,则该置换对应的不动点个数为mk。
用其替换burnside引理中的C(f),即C(f)=mk。得到等价类数目为:
其中|F|表示置换的数目,ki表示第i个置换包含的循环个数。
Burnside&Polya的更多相关文章
- POJ burnside&&polya整理练习
POJ 2409 Let it Bead 这题就是polya公式的直接套用,唯一麻烦的是置换群的种类数,由于可以翻转,所以除了要加上pow(c,gcd(s,i))这些平面旋转的置换群,还要加上翻转的. ...
- burnside+polya 整理
先定义几个含义和符号:起始状态/方法/位置/元素/:以染色为例,起始状态是所有的染色方案,方法是以起始状态所有染色方案为基准转变为新的染色情景的操作(如旋转),位置则必须是没有任何染色效果的抽象空间, ...
- Burnside&Polya总结
这里就算是一个小总结吧- 附参考的网址: http://blog.sina.com.cn/s/blog_6a46cc3f0100s2qf.html http://www.cnblogs.com/han ...
- Burnside&Polya总结
这里就算是一个小总结吧- 附参考的网址: http://blog.sina.com.cn/s/blog_6a46cc3f0100s2qf.html http://www.cnblogs.com/han ...
- bzoj1004 [HNOI2008]Cards【Burnside/Polya】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 一道好题,但并不是好在融合了三个“考点”(计数,背包dp,逆元),其实背包dp以及求逆 ...
- 等价类计数:Burnside引理 & Polya定理
提示: 本文并非严谨的数学分析,有很多地方是自己瞎口胡的,仅供参考.有错误请不吝指出 :p 1. 群 1.1 群的概念 群 \((S,\circ)\) 是一个元素集合 \(S\) 和一种二元运算 $ ...
- 【BZOJ】【1004】【HNOI2008】Cards
Burnside/Polya+背包DP 这道题目是等价类计数裸题吧……>_> 题解:http://m.blog.csdn.net/blog/njlcazl_11109/8316340 啊其 ...
- 2017-12 CDQZ集训(已完结)
从联赛活了下来(虽然分数倒一……),接下来要去CDQZ集训啦…… DAY -2 2017-12-16 被老师安排负责一部分同学的住宿以及安排…… 抓紧时间继续学习,LCT真好玩啊真好玩…… 晚上放假了 ...
- 各种注意事项(还有c++的一些操作)
转c++时间: 2017年8月9号 1.记得打头文件 2.=与==的区别(赋值|比较) 3.各种运算符的比较级(与Pascal不同),主要是==与位运算 *4.在OJ上scanf和printf时间优于 ...
随机推荐
- 【思维+贪心】codeforces Game of the Rows
http://codeforces.com/contest/839/problem/B [题意] 给定n组人,告诉每组人的人数,这些人要在飞机上坐座位 飞机上座位的分布看图可以知道,12 3456 ...
- 虫食算(codevs 1064)
题目描述 Description 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简单的例子: 43#9865#045 + 8468#6 ...
- WordPress升级错误:class-wp-filesystem-direct.php on line 122
错误描述:WordPress在后台进行版本升级时,出错,之后进入前台或者后台,都无法访问进入,错误信息如下:Warning: copy(/home/xxx/public_html/wordpress/ ...
- 2017多校Round3(hdu6056~hdu6066)
补题进度:7/11 1001 待填坑 1002 待填坑 1003(set) 题意: 给定长度为n(n<=5e5)的数组(是n的一个排列)和一个整数k(k<=80),f[l,r]定义为区间[ ...
- java-过滤器(Filter)
在javaweb开发中,项目中都会包含一些过滤器(Filter),主要用于web服务器对资源的管理控制,如静态资源文件.jsp页面访问等.我们可以使用过滤器实现一些特殊的功能,如常见的过滤敏感词汇(替 ...
- ABP每次生成前都执行bundle设置
ABP项目每次编译mvc项目时都会执行bundle,比较耗时. 可以在项目文件(*.csproj)中发现设置了每前生成前执行的命令 <Target Name="PreBuild&quo ...
- eclipse提速03 - 禁用动画
- 一句话从MySQL导出CSV文件
mysql -h <host> -u<user> -p<passport> crm -e "select ....." | csvcut -t ...
- oracle rac 安装错误整理。
今天是2014.05.26,离别N久的博客今天继续使用. 近期一直忙着离职.入职另外加上家的网一直没有交费,弄的自己開始不那么安稳.学习就是须要一种心情平静.内心稳妥的去进行. 因换笔记本,特须要又一 ...
- simple-todo: 一个简易的 todo 程序 - django版
今天无意间看到 simple-todo: 一个简易的 todo 程序 - web.py 中文教程 ,然后发现竟然有好多的版本 http://simple-is-better.com/news/tag ...
