参考了神仙gzy的博客

置换:把一个排列变成另外一个排列,简单来说就是一一映射。
置换群:置换的集合。

置换即给定一个排列\({f_1,f_2,...,f_n}\),若其作用在一个排列上,则这个排列置换后的第\(i\)个位置上的数变为置换前的第\(f_i\)个位置上的数,实质是一个从一个排列到另一排列的一一映射。

  • 置换之间可以进行乘法

  • 置换可以分解成若干循环的乘积

    以上两点可参考gzy的博客,其中第二点是等价类计数中常用的方法,在我有关排列计数的文章中会提到

Burnside引理

设G为置换集合,且对于任意\(f,g\in G\),有\(fg\in G\)

\(C(f)\)为置换\(f\)的不动点个数,即一个排列进行置换\(f\)后还是这个排列

L为置换\(G\)下等价类个数,若排列a可以通过G中的置换得到b,则a,b属于同一等价类

\[L=\frac{\sum_{f\in G}C(f)}{|G|}\]

证明:

设\(Z_i\)为使\(i\)为不动点的置换集合大小,\(E_i\)为第\(i\)个等价类的大小。

\[\sum_{f\in G}C(f)=\sum_{i=1}^{n}Z_i\]

又因为对于一个等价类\(j\),其中所有点\(i\)的\(Z_i\)都相等,设其为\(H_j\)

\(\sum_{i=1}^{n}Z_i=\sum_{i=1}^{L}E_iH_i\)

又因为每一个点经过\(G\)中的任意一个置换都会置换到它所在的等价类中的一个点,而置换到每一个点都有\(H_i\)种不同的置换方式

所以

\[|G|=E_iH_i\]

\[\therefore \sum_{i=1}^{n}Z_i=\sum_{i=1}^{L}|G|=L|G|\]

\[\sum_{f\in G}C(f)=L|G|\]

所以

\[L=\frac{\sum_{f\in G}C(f)}{|G|}\]

引理得证。

Polya定理也可以用Burnside引理证出来,详细可见Polya定理模板

Burnside引理的更多相关文章

  1. [bzoj 1004][HNOI 2008]Cards(Burnside引理+DP)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 分析: 1.确定方向:肯定是组合数学问题,不是Polya就是Burnside,然后题目上 ...

  2. POJ 2888 Magic Bracelet(Burnside引理,矩阵优化)

    Magic Bracelet Time Limit: 2000MS   Memory Limit: 131072K Total Submissions: 3731   Accepted: 1227 D ...

  3. BZOJ 1004 Cards(Burnside引理+DP)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1004 题意:三种颜色的扑克牌各有Sr,Sb,Sg张.给出m种置换.两种染色方案在某种置换 ...

  4. BZOJ_[HNOI2008]_Cards_(置换+Burnside引理+乘法逆元+费马小定理+快速幂)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1004 共n个卡片,染成r,b,g三种颜色,每种颜色的个数有规定.给出一些置换,可以由置换得到的 ...

  5. [BZOJ 1004] [HNOI2008] Cards 【Burnside引理 + DP】

    题目链接:BZOJ - 1004 题目分析 首先,几个定义和定理引理: 群:G是一个集合,*是定义在这个集合上的一个运算. 如果满足以下性质,那么(G, *)是一个群. 1)封闭性,对于任意 a, b ...

  6. BZOJ 1004: [HNOI2008]Cards( 置换群 + burnside引理 + 背包dp + 乘法逆元 )

    题意保证了是一个置换群. 根据burnside引理, 答案为Σc(f) / (M+1). c(f)表示置换f的不动点数, 而题目限制了颜色的数量, 所以还得满足题目, 用背包dp来计算.dp(x,i, ...

  7. BZOJ 1004 HNOI2008 Cards Burnside引理

    标题效果:特定n张卡m换人,编号寻求等价类 数据保证这m换人加上置换群置换后本身构成 BZOJ坑爹0.0 条件不那么重要出来尼玛怎么做 Burnside引理--昨晚为了做这题硬啃了一晚上白书0.0 都 ...

  8. HDU 5868 Different Circle Permutation(burnside 引理)

    HDU 5868 Different Circle Permutation(burnside 引理) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=586 ...

  9. 置换群、Burnside引理与等价类计数问题

    置换群.Burnside引理与等价类计数问题 标签: 置换群 Burnside引理 置换 说说我对置换的理解,其实就是把一个排列变成另外一个排列.简单来说就是一一映射.而置换群就是置换的集合. 比如\ ...

  10. 【BZOJ1004】Cards(组合数学,Burnside引理)

    [BZOJ1004]Cards(组合数学,Burnside引理) 题面 Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Su ...

随机推荐

  1. windows 的一些快捷键

    https://www.zhihu.com/question/276786944/answer/698967240 1.新建文件夹 Ctrl  + Shift + N        或者鼠标右键 然后 ...

  2. [转帖]从零开始入门 K8s | 手把手带你理解 etcd

    从零开始入门 K8s | 手把手带你理解 etcd https://zhuanlan.zhihu.com/p/96721097 导读:etcd 是用于共享配置和服务发现的分布式.一致性的 KV 存储系 ...

  3. day05——字典

    day05 字典 字典-- dict: 字典无序的,可变的数据类型 用于存储大量数据,字典要比列表快,将数据和数据之间进行关联 lst1 = ['常鑫','李文虎','张宇'] # 姓名 lst2 = ...

  4. 不依赖Spring使用AspectJ达到AOP面向切面编程

    网上大多数介绍AspectJ的文章都是和Spring容器混用的,但有时我们想自己写框架就需要抛开Spring造轮子,类似使用原生AspectJ达到面向切面编程.步骤很简单,只需要两步. 1.导入依赖 ...

  5. python--unittest测试框架

    unittest中最核心的四个概念是:test case, test suite, test runner, test fixture

  6. 秋招打怪升级之路:十面阿里,终获offer!

    本文转载自:https://gongfukangee.github.io/2019/09/06/Job/ 作者:G.Fukang 开源项目推荐: JavaGuide: Java学习+面试指南!Gith ...

  7. Qt QVector简单用法

    添加元素 QVector<QString> strArray; strArray.append("Hello"); 遍历 QVector<QString>: ...

  8. group by 两个字段

    group by 的简单说明:  group by 一般和聚合函数一起使用才有意义,比如 count sum avg等 使用group by的两个要素:   (1) 出现在select后面的字段 要么 ...

  9. 使用gacutil把COM组件注册到全局缓存GAC中

    我们在编写软件的时候,有时候需要调用COM组件,那就需要注册了,注册有两种,一种是使用regasm 在程序运行的时候注册,参考“pb调用C#编写的DLL类库“,不过受路径的限制.还有一种注册方式,使用 ...

  10. OSI、TCP/IP

    计算机网络分层的目的:支持异构网络系统的互联互通 7层OSI参考模型是法定标准(国际标准化组织ISO提出) 4层TCP/IP参考模型是事实标准 OSI参考模型 应用层.表示层.会话层.传输层.网络层. ...