【等价的穿越】Burnside引理&Pólya计数法
Problem
起源:
SGU 294 He’s Circle
遗憾的是,被吃了。
Poj有道类似的:
Mission
一个长度为n(1≤n≤24)的环由0,1,2组成,求有多少本质不同的环。
实际上,如果使用高精度,那么n可以到1e6级别
群
定义
一个集合G,以及一个二元运算∗。
并且满足:
封闭性
如果a∈G,b∈G,那么a∗b∈G
结合律
如果a∈G,b∈G,c∈G,那么a∗b∗c=a∗(b∗c)
存在单位元
存在c∈G,使得b∗c=c∗b=c
那么c就称为G的单位元。
类似于加法运算中的0,乘法运算中的1。
逆元
对于任意a∈G,都有a−1使得a∗a−1=a−1∗a=c
其中c是单位元。
那么a−1就称为a的逆元。
不一定满足交换律
我们称呼包含n个元素的有限群为n阶群。
置换
置换相当于一个排列的一一映射。
例如:
(14233241) (13223441) (23423411)
是置换,而
(52332411)
就不是置换。
置换群
由置换组成的集合,运算是置换的连接。
置换的连接
例子:
(12233441)∗(12233441)=(12233441)∗(23344112)=(13243142)
正片开始
Burnside引理
已知一个n阶置换群a;
求在其作用下有多少种本质不同的染色方案Ans。
结论
其中D(ai)表示在第i个置换的作用下,
有多少个染色方案置换后不变。
Back to the Problem
一个长度为n(1≤n≤24)的环由0,1,2组成,求有多少本质不同的环。
我们考虑构造这样的n阶置换群:
每一种旋转都当作是一个置换,那么就有n个置换,就构成个群。
例如,旋转k个元素,对应的置换为:
利用burnside引理,
我们可以先枚举出所有的3n染色方案,然后判断有多少种旋转可以使它旋转后不变。
但这显然是时间超限的。
我们需要进一步找出更好的性质。
Pólya计数法
循环
定义n阶循环是一种置换满足,
用循环表示旋转
题目中的,假设n=4:
那么置换群就有,以下四种置换:
用旋转表示置换,通俗地,例如:
简单来讲就是,类似于环状的东西。
我们用C(ai)表示ai存在多少个循环:
简单起见,
我们称循环里编号最小的珠子的编号,为循环的起始位置。
结论
处于同一循环的珠子的颜色必须是相同的,才能使得置换后不变
显然,证明略;
这样可以简化burnside引理的对于D(ai)运算。
但仍然不够,需要更特殊的性质。
专门针对旋转的Pólya计数法
旋转i个珠子对应的置换共有gcd(n,i)个循环,且其中每个循环的起始位置都依次相邻
证明:
设第u个珠子与第v个珠子处于同一个循环之中;
x,y是未知数。
则有
裴蜀定理:ax+by=c,那么gcd(a,b)|c,其中a,b,x,y,c都是质数。
由裴蜀定理,
想要令u和v不在同一循环中的话,
v−u就有0..gcd(n,i)−1这gcd(n,i)种取值,
且取值都是连续的。
所以,共有gcd(n,i)个循环的起始位置,且其中每个循环的起始位置都依次相邻。
得证。
True Back
有了这个特殊的性质,这道题就躺着做。
由,同一置换中,每个循环都可以染3种颜色,则有
End
【等价的穿越】Burnside引理&Pólya计数法的更多相关文章
- 置换群 Burnside引理 Pólya定理(Polya)
置换群 设\(N\)表示组合方案集合.如用两种颜色染四个格子,则\(N=\{\{0,0,0,0\},\{0,0,0,1\},\{0,0,1,0\},...,\{1,1,1,1\}\}\),\(|N|= ...
- Burnside引理&Pólya定理
Burnside's lemma 引例 题目描述 一个由2*2方格组成的正方形,每个格子上可以涂色或不涂色, 问共有多少种本质不同的涂色方案. (若两种方案可通过旋转互相得到,称作本质相同的方案) 解 ...
- BZOJ_[HNOI2008]_Cards_(置换+Burnside引理+乘法逆元+费马小定理+快速幂)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1004 共n个卡片,染成r,b,g三种颜色,每种颜色的个数有规定.给出一些置换,可以由置换得到的 ...
- 数学:Burnside引理与Pólya定理
这个计数定理在考虑对称的计数中非常有用 先给出这个定理的描述,虽然看不太懂: 在一个置换群G={a1,a2,a3……ak}中,把每个置换都写成不相交循环的乘积. 设C1(ak)是在置换ak的作用下不动 ...
- 等价类计数:Burnside引理 & Polya定理
提示: 本文并非严谨的数学分析,有很多地方是自己瞎口胡的,仅供参考.有错误请不吝指出 :p 1. 群 1.1 群的概念 群 \((S,\circ)\) 是一个元素集合 \(S\) 和一种二元运算 $ ...
- @总结 - 12@ burnside引理与pólya定理
目录 @0 - 参考资料@ @1 - 问题引入@ @2 - burnside引理@ @3 - pólya定理@ @4 - pólya定理的生成函数形式@ @0 - 参考资料@ 博客1 @1 - 问题引 ...
- Burnside 引理与 Pólya 定理
群 群的定义 在数学中,群是由一种集合以及一个二元运算所组成的,符合"群公理"的代数结构. 一个群是一个集合 \(G\) 加上对 \(G\) 的二元运算.二元运算用 \(\cdot ...
- 等价类计数(Polya定理/Burnside引理)学习笔记
参考:刘汝佳<算法竞赛入门经典训练指南> 感觉是非常远古的东西了,几乎从来没有看到过需要用这个的题,还是学一发以防翻车. 置换:排列的一一映射.置换乘法相当于函数复合.满足结合律,不满足交 ...
- 【loj6538】烷基计数 加强版 加强版 Burnside引理+多项式牛顿迭代
别问我为啥突然刷了道OI题,也别问我为啥花括号不换行了... 题目描述 求含 $n$ 个碳原子的本质不同的烷基数目模 $998244353$ 的结果.$1\le n\le 10^5$ . 题解 Bur ...
随机推荐
- mybatis第二篇—参数绑定
不管我们在做数据库作业或者任务还是当时的仅靠jdbc来写一个管理系统的时候,sql语句需要一些参数,从而来实现模糊查询,精确查询,插入数据,更新数据和删除数据.这些参数,在mybatis里面,又该如何 ...
- Leetcode937. Reorder Log Files重新排列日志文件
你有一个日志数组 logs.每条日志都是以空格分隔的字串. 对于每条日志,其第一个字为字母数字标识符.然后,要么: 标识符后面的每个字将仅由小写字母组成,或: 标识符后面的每个字将仅由数字组成. 我们 ...
- warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
解决方法:是所有项目的这个"代码生成"属性设置保持一致. 项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都 ...
- leyou_05_文件上传
1.搭建一个新的微服务Ly-upload用来上传文件 2.导入文件上传到额依赖 <dependencies> <dependency> <groupId>org.s ...
- [转] 允许远程用户登录访问mysql的方法
需要手动增加可以远程访问数据库的用户. 方法一.本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项 ...
- Chapter 1 线性表
Preface: 这部分主要是我考研之前的总结,留作以后用到时再翻出来看看.都是基础的知识点,望各(Da)位(Lao)不喜勿喷,欢迎指正. 适用人群:考研复习过一遍数据结构的,可以看看,查漏补缺(顺便 ...
- webServices学习三(概念详解)
WebService通过HTTP协议完成远程调用: (深入分析) WebService只采用HTTP POST方式传输数据,不使用GET方式; -- 握手,WSDL-get, 普通http post的 ...
- JasperReport生命周期3
JasperReports的主要目的是为了在一个简单而灵活的方式创建页面为导向,准备好打印文档.下面的流程图描述了一个典型的工作流程,同时创建报表. 如在图片的生命周期具有以下明显的阶段 设计报表在这 ...
- Java数据结构和算法(六)--二叉树
什么是树? 上面图例就是一个树,用圆代表节点,连接圆的直线代表边.树的顶端总有一个节点,通过它连接第二层的节点,然后第二层连向更下一层的节点,以此递推 ,所以树的顶端小,底部大.和现实中的树是相反的, ...
- c++设计模式:代理模式
代理模式的实现和visitor实现有一曲同工之妙.这里就不多说了,也是实现set_delegate接口,以及回调函数处理接口. 主要区别在于: visitor主要是把信息回调之后就不管了. 代理模式主 ...