先定义几个含义和符号:
起始状态/方法/位置/元素/:以染色为例,起始状态是所有的染色方案,方法是以起始状态所有染色方案为基准转变为新的染色情景的操作(如旋转),位置则必须是没有任何染色效果的抽象空间,元素则是各种颜色
循环: 在方法作用下,元素在位置上形成一个首尾相接的环(且定义这些位置是等价的)
迹: 在方法作用下,循环所遍及到的所有位置的集合
等价关系:一个置换集合G,如果一个置换方法能把其中一个方案映射到另一个方案,则二者是等价的
等价类: 满足等价关系的方案属于同一等价类,如:这里有6个等价类

C(pi):表示pi方法形成循环的个数
循环的阶:循环中元素个数
Ck(pi):表示pi中k阶循环个数
如:p1=(154)(2)(3)
C(p1)=3,C1(p1)=1,C2(p1)=0,C3(p1)=2
-------------------------------------------------
C(fk):对象是“所有染色方案(且将每种方案效果合并起来)”
           对于每个染色方案 循环阶为1的fk方法的个数的总和 (即fk方法使所有染色方案哪些位置元素保持不变)
C'(fk):对象是“位置”
            fk方法下的循环个数
Zk: k不动置换类 {p|p属于G,p(k)=k},且Zk是G的子群 (使k位置元素不变的所有方法,|Zk|也叫k的稳定化子数)-->>这东西的存在其实就是哲学里的,”先抓一个定住,看其他的怎么变化“中的使之定住稳定住的东西
Ek:等价类 {a1(=k),a2,...,al},G中总存在pi,pi(a1)=ai(i=1,2,..l) (使这几个位置是等价的所有方法,|Ek|也叫k的轨道大小)
|Zk|*|Ek|=|G|: 轨道-稳定集定理:k的轨道大小*k的稳定化子数=总的变换个数 (G中所有的方法按k的轨道分类,对于每一个轨道来说,在这个轨道上的方法数为Zk,而每个轨道方法数一定相等。(由拉格朗日定理,Zk是子群就满足被整除的性质)
(注意这里”方法“不能跟”元素“这两个概念混在一起,方法是指对同一位置上“任意元素”都有相同效果,所以不要老纠结于元素的变化)
|H|整除|G|:拉格朗日定理。其中H是有限群G的子群(H的陪集要么重叠要么不相交,H的所有陪集的并等于G)
陪集: H为G的子群,对任意G中a,aH为陪集
位置方法转化定理:sgma(k=1~n)|Zk|=sgma(k=1~|G|)C(fk) (这里仅仅就是转换角度,将研究对象从位置k上的所有方法转变为方法fk对应的所有位置,最后求和还是一个东西,画张图就能明白)

burnside引理:
我们现在给出n个位置,那么根据等价类定义,有些位置上的等价类是相同的,Ei=Ej=Ek
我们要求不同的等价类个数,那么实际枚举位置k(1..n)可以想成对应的Ek为答案的贡献(1/|Ek|)
即 L=sgma(k=1~n)(1/|Ek|) //再用|Zk|*|Ek|=|G|: 轨道-稳定集定理进行变形,有
=(1/|G|)sgma(k=1~n)(|Zk|) //再用位置方法转化定理
=(1/|G|)sgma(k=1~|G|)C(fk)

但是,如对n个位置用m种颜色染色问题:
利用Burnside引理要首先列出所有n^m种可能的染色方案,然后找出在每个置换下保持不变的方法数。
显然当m或n很大的时候,操作会非常繁琐。 这时就需要用到polya定理。

polya定理:
它是抛弃起始状态(染色方案)这种观念而存在的定理(因为循环的迹上每个元素的选取是等价的,最后只要直接乘元素个数就行)
它而是将注意力完全放在抽象位置上,用C'(fk)操作,每个循环的迹有m种选择颜色的权利,所以m^(C'(fk))就是fk方法下不重复的染色图像个数(即等价类个数)
C(fk)=m^(C'(fk)) 两者其实都代表fk方法下等价类个数(这两者间直接证明基本上是不可能的,别妄想了),那么:
在所有方法下的等价类个数的总和除以方法数=在所有方法下的等价类个数
L=(1/|G|)sgma(k=1~|G|)m^(C'(fk))

burnside+polya 整理的更多相关文章

  1. POJ burnside&&polya整理练习

    POJ 2409 Let it Bead 这题就是polya公式的直接套用,唯一麻烦的是置换群的种类数,由于可以翻转,所以除了要加上pow(c,gcd(s,i))这些平面旋转的置换群,还要加上翻转的. ...

  2. Burnside&Polya

    以前只是直接用了这两个式子..今天才仔细看了证明..[网上的真是难懂啊 我看的几个博客地址(各有优缺): 其实如果能懂的话 只看博客B就可以了 首先是一些置换群方面的定义和性质  博客A:http:/ ...

  3. Burnside&Polya总结

    这里就算是一个小总结吧- 附参考的网址: http://blog.sina.com.cn/s/blog_6a46cc3f0100s2qf.html http://www.cnblogs.com/han ...

  4. Burnside&Polya总结

    这里就算是一个小总结吧- 附参考的网址: http://blog.sina.com.cn/s/blog_6a46cc3f0100s2qf.html http://www.cnblogs.com/han ...

  5. bzoj1004 [HNOI2008]Cards【Burnside/Polya】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 一道好题,但并不是好在融合了三个“考点”(计数,背包dp,逆元),其实背包dp以及求逆 ...

  6. 等价类计数:Burnside引理 & Polya定理

    提示: 本文并非严谨的数学分析,有很多地方是自己瞎口胡的,仅供参考.有错误请不吝指出 :p 1. 群 1.1 群的概念 群 \((S,\circ)\) 是一个元素集合 \(S\) 和一种二元运算 $ ...

  7. 【BZOJ】【1004】【HNOI2008】Cards

    Burnside/Polya+背包DP 这道题目是等价类计数裸题吧……>_> 题解:http://m.blog.csdn.net/blog/njlcazl_11109/8316340 啊其 ...

  8. 2017-12 CDQZ集训(已完结)

    从联赛活了下来(虽然分数倒一……),接下来要去CDQZ集训啦…… DAY -2 2017-12-16 被老师安排负责一部分同学的住宿以及安排…… 抓紧时间继续学习,LCT真好玩啊真好玩…… 晚上放假了 ...

  9. 各种注意事项(还有c++的一些操作)

    转c++时间: 2017年8月9号 1.记得打头文件 2.=与==的区别(赋值|比较) 3.各种运算符的比较级(与Pascal不同),主要是==与位运算 *4.在OJ上scanf和printf时间优于 ...

随机推荐

  1. Django之django模型层二多表操作

    一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. ...

  2. @Tranactional 注解分析

    Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义 @Tranactional注解分析 作用 ...

  3. css 样式表的书写顺序

    display || visibility list-style : list-style-type || list-style-position || list-style-image positi ...

  4. tornado 初解

    对于使用习惯Django的我来说,tornado实在是很简陋,没有那么多复杂的文件分类. 在tornado中,一个简单web只需要十几行简单的代码就OK了 import tornado.web imp ...

  5. Android view层

    当屏幕可以装下内容的时候,他们的值相等,只有当view超出屏幕后,才能看出他们的区别:getMeasuredHeight()是实际View的大小,与屏幕无关,而getHeight的大小此时则是屏幕的大 ...

  6. Appium+java 获取元素状态

    元素的属性我们经常会用到,当定位到某个元素后,有时会需要用到这个元素的text值.className.resource-id.checked等.  一般标准的属性我们都可以通过get_attribut ...

  7. openstack Ocata版本 python

    from keystoneauth1.identity import v3 from keystoneauth1 import session from novaclient import clien ...

  8. 如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题

    如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题 开放Mysql的远程连接 在服务器上登录my ...

  9. 四、Tableau如何设置数据格式

    一.要求 ‘销售额’:K为单位 ‘利润’:        M为单位,负值用括号括起来,但是正值 ‘利润率’:带百分号,负值用括号括起来仍然时负值 二.解决方案 1.‘销售额’:m为单位 2.‘利润’: ...

  10. Linux CFS调度器之pick_next_task_fair选择下一个被调度的进程--Linux进程的管理与调度(二十八)

    1. CFS如何选择最合适的进程 每个调度器类sched_class都必须提供一个pick_next_task函数用以在就绪队列中选择一个最优的进程来等待调度, 而我们的CFS调度器类中, 选择下一个 ...