Pólya计数定理
我日啊..被cls的计数题虐得欲仙欲死...根本不会计数QAQ...
不懂数学啊...
前置技能
群
群是二元组\((G,*)\),满足
- \(*:(G,G)\rightarrow G\)
- \(\exists e\in G, \forall x\in G, x*e=x=e*x, \mathtt{(单位元)}\)
- \(\forall x\in G, \exists y\in G, x*y=e, \mathtt{记}y=x^{-1}, \mathtt{(存在逆元)}\)
- \(\forall x,y,z\in G, (x*y)*z=x*(y*z), \mathtt{(结合律)}\)
记\(a*b\)为\(ab\).
置换
一个作用在集合\(G\)上的置换群\((S_G,\circ)\)是\(s: G\rightarrow G\)(\(s\)是一一对应,称为作用在\(G\)上的置换)的集合,其中\(\circ\)是复合操作,即\(x,y\in S_G,t\in G, (x\circ y)(t)=y(x(t))\).
循环
循环是一类特殊的置换, 表示为\(f=(a_1a_2\cdots a_n)\),表示\(f(x)=\begin{cases}a_{(i+1)\bmod n} &,\mathtt{if}~x=a_i\\x &,\mathtt{whatever~else}\end{cases}\),记\(f\)为长度为\(n\)的置换,\(l(f)=n\)
显然一个置换可以分解为一堆不相交循环对\(\circ\)的乘积,只需要考察集合里的元素不断作用置换\(p\)回到原点时经过的元素.这个过程称为置换的分解,分解后的集合记为\(\alpha(p)\)(我也不知道可以用什么符号干脆就用个\(\alpha\)好孩子们别学我= =).
记\(\beta_k(p)=\sum\limits_{i\in \alpha(p)}[l(i)=k]\)(即p的分解中长度为\(k\)的循环的个数).
Pólya定理
对于set(\(X\)),group(\(G\subseteq S_X,\circ\)),用\(m\)种颜色给\(X\)染色,求方案数.
等价性: 若两个染色\(x,y\)可以通过\(G\)中的一个置换的作用变为相等,这两个置换就是等价的.
相信学习Pólya的大家都见过这个式子:
\[\mathtt{ans}=\frac{1}{\mid G\mid}\sum_{g\in G}m^{\mid \alpha(g)\mid}\]
但是这个式子其实是一个简化版的Pólya定理= =.它太弱了,甚至不能处理颜色个数有不同的情况..
(待补.)
Pólya计数定理的更多相关文章
- 【等价的穿越】Burnside引理&Pólya计数法
Problem 起源: SGU 294 He's Circle 遗憾的是,被吃了. Poj有道类似的: Mission 一个长度为n(1≤n≤24)的环由0,1,2组成,求有多少本质不同的环. 实际上 ...
- 组合数学之Pólya计数理论
1 群 群$(G, cdot)$: 闭合, 结合律, 幺元, 逆 1.1 置换群 置换为双射$pi:[n]to [n]$, 置换之间的操作符 $cdot$ 定义为函数的复合, 即$(pi cdot s ...
- UVa 10294 (Pólya计数) Arif in Dhaka (First Love Part 2)
Burnside定理:若一个着色方案s经过置换f后不变,称s为f的不动点,将置换f的不动点的数目记作C(f).等价类的数目等于所有C(f)的平均值. 一个项链,一个手镯,区别在于一个能翻转一个不能,用 ...
- polya计数定理在ACM-icpc中的应用
[数学公式] PG(x1,x2,...,xn) = 1/|G| * ∑π∈G x1^b1 * x2^b2*...*bn^bn 其中π是1^b12^b2...n^bn型轮换 然后一般染色情况下x1= ...
- 组合数学(Pólya计数原理):UvaOJ 10601 Cubes
Cubes You are given 12 rods of equal length. Each of them is colored in certain color. Your task is ...
- 置换群 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定理
这个计数定理在考虑对称的计数中非常有用 先给出这个定理的描述,虽然看不太懂: 在一个置换群G={a1,a2,a3……ak}中,把每个置换都写成不相交循环的乘积. 设C1(ak)是在置换ak的作用下不动 ...
- [spoj104][Highways] (生成树计数+矩阵树定理+高斯消元)
In some countries building highways takes a lot of time... Maybe that's because there are many possi ...
- bzoj 1004 Cards 组合计数
这道题考察的是组合计数(用Burnside,当然也可以认为是Polya的变形,毕竟Polya是Burnside推导出来的). 这一类问题的本质是计算置换群(A,P)中不动点个数!(所谓不动点,是一个二 ...
随机推荐
- CodeForces 710CMagic Odd Square(经典-奇数个奇数&偶数个偶数)
题目链接:http://codeforces.com/problemset/problem/710/C 题目大意:输入一个奇数n,则生成n*n矩阵,要求矩阵的行.列还有斜着,所有元素之和为奇数. 解题 ...
- 有scp命令,传输文件却显示报错无此命令
今天下午在一台服务器上使用scp命令向另外一台服务器传文件的时候,报此错误 bash: scp: command not found ,lost connection,以为是该服务器没有安装此命令,w ...
- Behavior Trees
https://en.wikipedia.org/wiki/Behavior_Trees_(artificial_intelligence,_robotics_and_control) http:// ...
- ecshop mobile 文件介绍
mobile手机端 1.common位置:include\apps\default\common\ function.php show_message 成功跳转页面 其他页面引用 show_m ...
- Python之路【第五篇】:面向对象编程
面向对象编程思维导向图
- Elasticsearch-PHP 索引操作(转)
索引操作 本节通过客户端来介绍一下索引API的各种操作.索引操作包含任何管理索引本身(例如,创建索引,删除索引,更改映射等等). 我们通过一些常见的操作的代码片段来介绍,然后在表格中列出剩下的方法.R ...
- jquery的load和get的区别
jquery的load把返回的数据放到指定的元素中,不是全局函数:jquery的get把返回的数据交给用户处理,是全局函数. load和get同样是jquery的ajax函数,load的实现,几乎等于 ...
- ng指令之 ng-class 篇
1>定义和用法 ng-class 指令用于给 HTML 元素动态绑定一个或多个 CSS 类.ng-class 指令的值可以是字符串,对象,或一个数组. 如果是字符串,多个类名使用空格分隔. 如果 ...
- C#数字格式化
格式规范的完整形式:{index [,width][:formatstring]} index是此格式程序引用的格式字符串之后的参数,从零开始计数:width(可选) 是要设置格式的字段的宽度,wid ...
- \n\t\r代表什么意思
\t水平制表(跳到下一个tab位置)\r回车(将当前位置移到本行开头)\n换行(将当前位置移到下一行行开头)