Burnside 定理
Burnside 定理
问题:
给定一个 \(n\) 个点,\(n\) 条边的环,有 \(m\) 种颜色,给每个顶点染色,问有多少种本质不同的染色方案,答案对 \(10^9+7\) 取模
注意本题的本质不同,定义为:只需要不能通过旋转与别的染色方案相同。
题目初步解读
我们考虑如果不要求本质不同只需要 \(n^n\) 。
但因为无标号的环就会重复。
例如这是一个 4 个点, 2 种颜色的情况:

在这里面如果不要求本质不同就有 16 种方案,若要求,则只有 6 种。
同一行的都是一种方案。
Burnside 引入
我们先来一些定义
置换群
令集合 \(N=\{1,2,\cdots,n\}\) 。
令集合 \(M\) 为 \(N\) 若干个排列构成的集合。
令群 \(G = (M,\times)\) 其中符号 \(\times\) 解释如下:
\(\sigma\) 是一个排列,也就是 \(M\) 周一个元素。
写为 \(\sigma \times a\) 不过更习惯被表示为 \(\sigma(a)\) 。
其运算规则为:\(\sigma(a)= (a_{\sigma_1},a_{\sigma_2}...a_{\sigma_n})\)。
在前面样例中,置换群是:
\((\{\)旋转\(0°,\)旋转\(90°,\)旋转\(180°,\)旋转\(270° \},\times)\)
若写成排列则是:
\((\{\{1,2,3,4\},\{2,3,4,1\},\{3,4,1,2\},\{4,1,2,3\}\},\times)\)
轨道
考虑一个作用在 \(X\) 上的置换群 \(G\) , \(X\) 中一个元素 \(x\) 的轨道则是 \(x\) 通过 \(G\) 中元素可以转移到的元素的集合。记作 \(G(x)\) 。
样例中每一行就是一个轨道。例如下面就是一个轨道。
稳定子
稳定子定义为:\(G^x = \{g|g\in G,g \times x = x\}\)。
使用语言描述,便是群 \(G\) 中满足 \(g(x)=x\) 的所有元素 \(g\) 所构成的集合。
样例中:
的稳定子为 \(\{\)旋转\(0°\}\),
的稳定子为 \(\{\)旋转\(0°,\)旋转\(180°\}\),
的稳定子为 \(\{\)旋转\(0°,\)旋转\(90°,\)旋转\(180°,\)旋转\(270°\}\)。
轨道-稳定子定理:
我们可以发现:
1.在同一轨道的元素稳定子个数一定相等。
2.稳定子大小乘轨道大小等于群 \(G\) 大小。
\]
没错,他是个定理,考虑感性证明:
一个元素 \(x\) 按照 \(G\) 的操作一定可以得到轨道内所有元素,也就是集合 \(G(x)\) 。
但在操作过程中会有重复的,重复的次数也就是稳定子集合大小。
详细证明可以看这里。
不动点
若 \(g(x) = x\) 则称 \(x\) 是在 \(g\) 下的不动点。
定义集合 \(X^g = \{x|g(x) = x,x\in X\}\)。
稳定子和不动点有类似反演的关系。
若 x 的稳定子集合里有 \(g\),那么 g 下不动点集合中也有 x。
所以对于每一个 \(x\) 稳定子的个数之和等于对于每一个 \(g\) 不动点个数之和。
形式化
\]
注意稳定子是对于 g 来说的,而不动点是对于 x 来说的。
例如 ''旋转180°'' 不动点是
Burnside 定理
公式:
我们要求的答案一般来说也就是轨道数量。
\]
证明:
等价类数量也就是轨道数量。
\(|G(x)|\) 代表 \(x\) 所在轨道大小。
\]
根据轨道-稳定子定理得
\]
用稳定子和不动点关系得:
\]
回到题目
扩展到 \(n\),现在的 \(G\) 就是\(\{\) 旋转 \(0\) 次,旋转 \(1\) 个,\(\cdots\),旋转\(n-1\)个 \(\}\)。
考虑旋转 \(k\) 次的不动点个数是 \(n^{\gcd(k,n)}\)。
当 \(\gcd(k,n) = k\):
我们按照 \(k\) 将环切成 \(\frac n k\) 份,然后标上号。

将他旋转。

我们发现每一份必须一样他才是个不动点。
答案就是 \(n^k = n^{\gcd(n,k)}\)。
当 \(gcd(k,n) \ne k\):
令 \(g = \gcd(k,n)\) 那么我们将他旋转 \(g \times \frac k g\) ,等价于将长度为 \(g\) 的旋转 \(\frac k g\) 次。
答案就是 \(n^{gcd(n,k)}\)。
如果还不懂,建议手模一下 \(k = 4,n = 6\) 这个样例。
应用Burnside则有
\]
发现有 \(\gcd\) ,可以莫反。
莫反基操,不多说。
\]
直接暴力可过。
Pólya 定理
就是染色问题中Burnside的运用。
对于一个排列 \(g\) ,我们将每一个 \(i\) 向 \(a_i\) 连一条边,会得到若干环,每个环内元素颜色应该相同。定义 \(c(g)\) 代表环数量,那么 Pólya 就是
\]
Burnside 定理的更多相关文章
- 我对Burnside定理的理解
我想了想,发现可以证明burnside定理. 置换:n个元素1,2,-,n之间的一个置换表示1被1到n中的某个数a1取代,2被1到n中的某个数a2取代,直到n被1到n中的某个数an取代,且a1,a2, ...
- poj 2409+2154+2888(Burnside定理)
三道burnside入门题: Burnside定理主要理解置换群置换后每种不动点的个数,然后n种不动点的染色数总和/n为answer. 对于旋转,旋转i个时不动点为gcd(n,i). 传送门:poj ...
- HUST 1569(Burnside定理+容斥+数位dp+矩阵快速幂)
传送门:Gift 题意:由n(n<=1e9)个珍珠构成的项链,珍珠包含幸运数字(有且仅由4或7组成),取区间[L,R]内的数字,相邻的数字不能相同,且旋转得到的相同的数列为一种,为最终能构成多少 ...
- 埋锅。。。BZOJ1004-置换群+burnside定理+
看这道题时当时觉得懵逼...这玩意完全看不懂啊...什么burnside...难受... 于是去看了点视频和资料,大概懂了置换群和burnside定理,亦步亦趋的懂了别人的代码,然后慢慢的打了出来.. ...
- 【Burnside定理】&【Pólya定理】
Burnside & Pólya (详细内容请参阅<组合数学>或2008年cyx的论文,这里只写一些我学习的时候理解困难的几个点,觉得我SB的请轻鄙视……如果有觉得不科学的地方欢迎 ...
- BZOJ1004 [HNOI2008]Cards 【burnside定理 + 01背包】
题目链接 BZOJ1004 题解 burnside定理 在\(m\)个置换下本质不同的染色方案数,等于每种置换下不变的方案数的平均数 记\(L\)为本质不同的染色方案数,\(m\)为置换数,\(f(i ...
- bzoj 1004 1004: [HNOI2008]Cards burnside定理
1004: [HNOI2008]Cards Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1668 Solved: 978[Submit][Stat ...
- bzoj1004 [HNOI2008]Cards Burnside定理+背包
题目传送门 思路:首先是Burnside引理,要先学会这个博客. Burnside引理我们总结一下,就是 每种置换下不动点的数量之和除以置换的总数,得到染色方案的数量. 这道题,显然每种 ...
- POJ 1286 Necklaces of Beads (Burnside定理,有限制型)
题目链接:http://vjudge.net/problem/viewProblem.action?id=11117 就是利用每种等价情形算出置换节之后算组合数 #include <stdio. ...
- 1004: [HNOI2008]Cards burnside定理
https://www.lydsy.com/JudgeOnline/problem.php?id=1004 输入数据保证任意多次洗牌都可用这 m种洗牌法中的一种代替,且对每种洗牌法,都存在一种洗牌法使 ...
随机推荐
- 机器视觉基本理论(opencv)
1. 什么是图像采样 采样是按照某种时间间隔或空间间隔,将空间上连续的图像变换成离散点的操作称为图像采样 2. 什么是图像分变率 采样 得到的离散图像的尺寸称为图像分辨率.分辨率是数字图像可辨别的最小 ...
- 《C和指针》第一章
1 第一章 C标准库中几个常用的IO函数 int puts(void *str): 从str中提取字符直到遇到第一个'\0'为止,将这些字符串加上'\n'后发送给stdout. int main(vo ...
- 2023 Hubei Provincial Collegiate Programming Contest题解 C F H I J K M
补题链接:https://codeforces.com/gym/104337 原文链接:https://www.eriktse.com/algorithm/1136.html M. Different ...
- [转] Windows下Hook DirectX
首先说,这篇文章是很久以前为了玩成某游戏的HOOK找到的资料,虽然一直没用上,但是还是让我保留下来了.直接贴上了..看不懂也不要问我,我都没看. 也许看得懂的人对他们来说这是一个思路,不懂的就当垃圾文 ...
- CogSci 2017-Learning to reinforcement learn
Key 元学习系统(监督+从属)扩展于RL设置 LSTM用强化学习算法进行训练,可以使agent获得一定的学习适应能力 解决的主要问题 DRL受限于特定的领域 DRL训练需要大量的数据 作者参考了Ho ...
- 7-8 估值一亿的AI核心代码
题目描述: 以上图片来自新浪微博. 本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是: 无论用户说什么,首先把对方说的话在一行中原样打印出来: 消除原文中多余空格:把相邻单词间的多个空格 ...
- 使用 conda 和 Jupyter 创建你的自定义 R 包,转换笔记为幻灯片
创建你的自定义 R 包 出于用户使用方便考虑,Anaconda 已经在 "R Essentials" 中打包了一些最常用的数据科学 R 包.使用 conda metapackage ...
- Bio+IT 爱好者社区,欢迎你!
生物信息学是一个跨学科的大领域,一直以来,做生物信息分析的工程师都需要跟 IT 打交道. 现实问题是,有很多生物学.医学.遗传学背景的 Bio 人对生物领域拥有非常专业的知识经验,而对 IT 领域知之 ...
- Kubernetes使用Harbor作为私有镜像仓库
概述 Harbor使用了基于角色的访问控制策略,当从Harbor中拉去镜像的时候,首先要进行身份认证,认证通过后才可以拉取镜像.在命令行模式下,需要先执行docker login,登陆成功后,才可以d ...
- C# 图片转PDF,PDF增加水印文字
好久没写博客了,今天给大家分享一个图片转PDF的相关操作,也算是一次总结吧. 首先需要准备动态库itextsharp.dll,这个dll去网上下载,都可以下载到,C#对PDF的操作都是基于这个类库来实 ...

的稳定子为 \(\{\)旋转\(0°\}\),
的稳定子为 \(\{\)旋转\(0°,\)旋转\(180°\}\),
的稳定子为 \(\{\)旋转\(0°,\)旋转\(90°,\)旋转\(180°,\)旋转\(270°\}\)。
