不想写很多冗杂的群论定义,所以本博客不是用来入门的。

如果你想要入门,请点这里

概要

对于一个作用在集合 \(X\) 上的有限群 \(G\) ,对于每个 \(g\in G\) 令 \(X^g\) 表示 \(X\) 在 \(g\) 作用下的不动元素,即 \(X^g={x|x\cdot g=x,x\in X}\) ,则轨道数 \(|X/G|=\dfrac{\sum\limits_{g\in G}|X^g|}{|G|}\) 。

假设 \(X\) 中的两个元素 \(x_1,x_2\) ,存在变换,使得 \(x_1\cdot g=x_2\) ,则称 \(x_1\) 和 \(x_2\) 在同一个等价类里,上式中 \(|X/G|\) 就是等价类的数量。

好像也没有说明白,假设群 \(G\) 里面的 \(g\) 均表示图形的某种变换(如平移,旋转,翻折等),能够在进行一系列变换之后能够完全重合的图形成为同一种图形,对于某一种变换 \(g\) ,设有 \(c(g)\) 个图形属于某个图形的集合 \(X\) 在这种变换下和自己重合,则不同的图形一共有 \(\dfrac{1}{|G|}\sum\limits_{g\in G}c(g)\) 种。

举个例子:对于正三角形的三个顶点,我们用实心点和虚心点来标记,假设变换为旋转和翻折,则我们会有如下的6种变换方式。



对于所有可能存在的 \(2^3=8\) 个三角形,我们可以知道每一种变换分别有多少个三角形是不变的 \(c(g_1)=8,c(g_2)=2,c(g_3)=2,c(g_4)=4,c(g_5)=4,c(g_6)=4\) 。

所以本质不同的正三角形一共有 \(\dfrac{\sum\limits_{g\in G}c(g)}{|G|}=\dfrac{8+2+2+4+4+4}{6}=4\) 个,暴力验证一下就是这个答案。

接下来我们就可以考虑如下的问题了:我们对于一个图形(可能是网格,也可能是多面体,甚至可以是一个树或者图),要将它用 \(m\) 中颜色染色,置换群为 \(G\) ,问有多少种本质不同的方案。

我们考虑对于一个置换 \(g\in G\) 有哪些染色方案是不会变化的,也就是 \(c(g)\) 的值为多少。

不难发现,如果可以将置换表示成 \(k=\sigma(g)\) 环,只有每一个环内的所有颜色相同的时候,方案才不会变化,每个环有 \(m\) 种颜色可选,所以 \(c(g)=m^k\) 。

也就是说,本质不同的方案一共有 \(\dfrac{1}{|G|}\sum\limits_{g\in G}m^{\sigma(g)}\) ,这个也就是我们熟知的Pólya定理了。

例题

[HNOI2008] Cards

直接套用Burnside引理。

每一种洗牌法相当于一种置换(注意,还有不洗牌这种置换),我们需要求出不动元素的数量。

在这题的条件下不动元素就相当于数每一个环内的颜色相同,我们考虑对每一个置换变成若干个环,并对其进行三维背包,维护 \(f_{r,b,g}\) 表示染了 \(r\) 和红色, \(b\) 个蓝色和 \(c\) 个绿色的方案数。

最后将答案乘上 \(\dfrac{1}{m}\) 即可。

整体复杂度 \(O(RBG\sum k)\) ,其中 \(\sum k\) 表示所有置换的环的总数,且 \(\sum k\leqslant O(nm)\) 。

[SDOI2013]项链

求满足下列条件的项链个数:

1.这串项链由 \(n\) 颗珠子构成。

2.每一个珠子上面的每个数字 \(x\),必须满足 \(0<x\leqslant a\),且珠子上面三个数字的最大公约数要恰好为 \(1\)。

3.相邻的两个珠子必须不同。两个珠子被认为是相同的,当且仅当它们经过旋转,或者翻转后能够变成一样的。

4.两串项链如果能够经过旋转变成一样的,那么这两串项链被认为是相同的。

首先,我们枚举 \(d|\gcd(x_1,x_2,x_3)\) 的珠子数并进行莫比乌斯反演,可以得到本质不同的珠子有 \(m=\dfrac{\sum\limits_{i=1}^a\left(\dfrac{a}{i}\right)^3+3\times\sum\limits_{i=1}^a\left(\dfrac{a}{i}\right)^2+2}{6}\) 种,求职的复杂度为 \(O(a)\) 。

我们考虑对于某一种置换的不动点数量:对于顺时针旋转 \(k\) 个单位,他相当于是 \(\gcd(n,k)\) 个置换环,由于需要相邻两点不同,相当于需要对长为 \(\gcd(n,k)\) 的环进行 \(m\) 染色,且相邻的颜色不能相同,由于对于 \(n\) 元环 \(m\) 染色的方案数为 \((m-1)^n+(-1)^n(m-1)\) 。

对于 \(d|n\) , \(\gcd(n,k)=d\) 的 \(k\) 有 \(\varphi(\frac{n}{d})\) 个,所以最终答案为 \(\dfrac{1}{n}\sum\limits_{d|n}\varphi(\frac{n}{d})[(m-1)^d+(-1)^d(m-1)]\) 。

求值复杂度为 \(O(\sqrt{n}\log n)\) 。

Luogu P4980 【模板】Pólya 定理

对于这个环,它的置换群就是 \(n\) 种旋转方式,假设某一个旋转是将所有的点对应向后的 \(k\) 第个,也就意味着他们会出现 \(\gcd(n,k)\) 个环,也就意味着有 \(n^{\gcd(n,k)}\) 种方案在这种变换下不会改变。

所以最终答案为 \(\dfrac{1}{n}\sum\limits_{i=1}^nn^{\gcd(n,i)}=\dfrac{1}{n}\sum\limits_{d|n}n^d\sum\limits_{i=1}^n[gcd(n,i)==d]=\dfrac{1}{n}\sum\limits_{d|n}n^d\sum\limits_{i=1}^{\frac{n}{d}}[gcd(\frac{n}{d},i)==1]=\dfrac{1}{n}\sum\limits_{d|n}\varphi(\frac{n}{d})n^d\) 。

暴力枚举 \(\leqslant \sqrt{n}\) 的因数,并暴力求解 \(\varphi(\frac{n}{d})\) 可以得到一个亚线性的做法。

[蓝桥杯 2015 国 B] 模型染色

置换群由满足在变换之后图同构的置换构成,对于这个顶点的置换,我们可以用 \(O(n)\) 的时间来求出环的数量。

由于 \(n\) 很小,暴力枚举所有的置换并判图是否同构即可。

最终复杂度为 \(O(m\times n!+n|G|)\) 。

[AHOI2002]黑白瓷砖

不难发现只有6种置换方式(具体可以参考最上面的例子)。

对于不变的置换(第一种),有 \(\dfrac{n(n+1)}{2}\) 个环。

对于旋转类置换(第二三种),有 \(\left\lceil\dfrac{n(n+1)}{6}\right\rceil\) 个环(除中心点外均三个一组)。

对于反转类置换(第四五六种),有 \(\dfrac{\frac{n(n+1)}{2}+\left\lceil\frac{n}{2}\right\rceil}{2}\) 个环(除对称轴上的均两两一组)。

所以最终答案为 \(\dfrac{2^{\frac{n(n+1)}{2}}+2\times 2^{\left\lceil\frac{n(n+1)}{6}\right\rceil}+3\times 2^{\frac{\frac{n(n+1)}{2}+\left\lceil\frac{n}{2}\right\rceil}{2}}}{6}\) ,需要写高精度。

[HNOI2009]图的同构计数

相当于对于完全图的每一条边染上黑色或者白色,问本质不同的方案数有多少。

置换群为所有 \(n!\) 种置换。

考虑对于一种置换有多少个环:

这 \(n!\) 种置换是和点编号的排列一一对应的,我们可以先找出这个排列中的所有环长 \(c_1,c_2\dots c_k\)。

对于两个不同的环 \(c_i,c_j\) 他们之间共有 \(c_ic_j\) 条边,这些边一共构成 \(\gcd(c_i,c_j)\) 个环。

对于某一个环 \(c_i\) ,其中一个节点向后跨越了 \(\leqslant \dfrac{c_i}{2}\) 个节点的边可以和所有环一一对应(对于 \(t> \dfrac{c_i}{2}\) 的,它和跨越 \(c_i-t\) 个节点的在同一个环内),也就是有 \(\left\lfloor\dfrac{c_1}{2}\right\rfloor\) 个环。

在所有的置换中一共有 \(\dfrac{n!}{\prod\limits_{i=1}^kc_i\cdot\prod\limits_{i-1}^n\sum\limits_{j=1}^k[c_j=i]}\) 个满足上述条件。

搜索 \(\{c\}\) 的值,对于每一种统计出答案即可。

[SHOI2006] 有色图

这题为上面一题的加强版,将 \(2\) 种颜色变为了 \(m\) 种颜色,方法和上面一题基本相同。

Burnside引理和Pólya定理的更多相关文章

  1. Burnside引理和Polya定理之间的联系

    最近,研究了两天的Burnside引理和Polya定理之间的联系,百思不得其解,然后直到遇到下面的问题: 对颜色限制的染色 例:对正五边形的三个顶点着红色,对其余的两个顶点着蓝色,问有多少种非等价的着 ...

  2. Burnside引理和Polya定理

    转载自:https://blog.csdn.net/whereisherofrom/article/details/79631703 Burnside引理 笔者第一次看到Burnside引理那个公式的 ...

  3. Burnside引理和polay计数学习小记

    在组合数学中有这样一类问题,比如用红蓝两种颜色对2*2的格子染色,旋转后相同的算作一种.有多少种不同的染色方案?我们列举出,那么一共有16种.但是我们发现,3,4,5,6是同一种,7,8,9,10是用 ...

  4. 置换群和Burnside引理,Polya定理

    定义简化版: 置换,就是一个1~n的排列,是一个1~n排列对1~n的映射 置换群,所有的置换的集合. 经常会遇到求本质不同的构造,如旋转不同构,翻转交换不同构等. 不动点:一个置换中,置换后和置换前没 ...

  5. Burnside引理与Polya定理

    感觉这两个东西好鬼畜= = ,考场上出了肯定不会qwq.不过还是学一下吧用来装逼也是极好的 群的定义 与下文知识无关.. 给出一个集合$G = \{a, b, c, \dots \}$和集合上的二元运 ...

  6. Burnside引理与Polya定理 学习笔记

    原文链接www.cnblogs.com/zhouzhendong/p/Burnside-Polya.html 问题模型 有一个长度为 $n$ 的序列,序列中的每一个元素有 $m$ 种取值. 如果两个序 ...

  7. Burnside引理和polay计数 poj2409 Let it Bead

    题目描述 "Let it Bead" company is located upstairs at 700 Cannery Row in Monterey, CA. As you ...

  8. 【uva 10294】 Arif in Dhaka (First Love Part 2) (置换,burnside引理|polya定理)

    题目来源:UVa 10294 Arif in Dhaka (First Love Part 2) 题意:n颗珠子t种颜色 求有多少种项链和手镯 项链不可以翻转 手镯可以翻转 [分析] 要开始学置换了. ...

  9. 等价类计数(Polya定理/Burnside引理)学习笔记

    参考:刘汝佳<算法竞赛入门经典训练指南> 感觉是非常远古的东西了,几乎从来没有看到过需要用这个的题,还是学一发以防翻车. 置换:排列的一一映射.置换乘法相当于函数复合.满足结合律,不满足交 ...

  10. burnside引理&polya定理

    burnside引理&polya定理 参考资料: <polya计数法的应用>--陈瑜希 黄学长 置换: 置换即是将n个元素的染色进行交换,产生一个新的染色方案. 群: 一个元素的集 ...

随机推荐

  1. Android Emulator 画面闪烁

    Android 虚拟机经常会出现画面闪烁,可以通过修改设置解决. 打开虚拟机之后,点击 "..." 按钮.按照下图改为 "D3D11",冷重启虚拟机就好了.

  2. Vue第五篇 Vue的生命周期

    Vue生命周期简介 生命周期的钩子函数 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  3. Mycat 实现分库分表及读写分离

    本文为博主原创,未经允许不得转载: Mycat 官网: http://mycat.org.cn/ MyCat 权威指南 文档:http://www.mycat.org.cn/document/myca ...

  4. MySQL 查询索引失效及如何进行索引优化

    本文为博主原创,未经允许不得转载: 我们都知道创建索引的目的是快速从整体集合中选择性地读取满足条件的一部分集合.mysql中一张表是可以支持多个索引的.但是,你写sql语句的时候,并没有主动指定使用哪 ...

  5. 基于html5开发的Win12网页版,抢先体验

    据 MSPoweruser 报道,Windows 11虽然刚刚开始步入正轨,但最新爆料称微软已经在开启下一个计划,Windows 12 的开发将在 去年3 月份开始.德国科技网站 Deskmodder ...

  6. PS去除PDF中的WPS 编辑试用水印

    1. 问题 自己的学习资料.pdf被添加上了相关水印,导致阅读起来很不舒服 2. 解决方式(适用于白底黑字的pdf资料,去除水印) 2.1 初始图片如下: 2.2 打开PS,选择菜单栏中选择一项中的色 ...

  7. [springmvc] - 配置文件 springmvc-config.xml 和 web.xml

    springmvc-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...

  8. Go-数据类型-布尔类型-bool

    布尔类型--bool 只有两个值 true false 不能转换成其他类型,也不能参加数值运算 布尔应用场景 if swicht for 三大分支语句中的条件部分 比较运算和逻辑运算的返回值 作为通道 ...

  9. [转帖]MySQL定点数类型DECIMAL用法详解

    https://www.cnblogs.com/danielzzz/p/16824214.html 一.MySQL DECIMAL 的使用 DECIMAL 数据类型用于在数据库中存储精确的数值,我们经 ...

  10. [转帖]从SSTable到LSM-Tree之二

    https://zhuanlan.zhihu.com/p/103968892 背景 LSM-Tree (Log Structured Merge Tree),日志结构合并树.它在 1996 年由论文& ...