我日啊..被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计数定理的更多相关文章

  1. 【等价的穿越】Burnside引理&Pólya计数法

    Problem 起源: SGU 294 He's Circle 遗憾的是,被吃了. Poj有道类似的: Mission 一个长度为n(1≤n≤24)的环由0,1,2组成,求有多少本质不同的环. 实际上 ...

  2. 组合数学之Pólya计数理论

    1 群 群$(G, cdot)$: 闭合, 结合律, 幺元, 逆 1.1 置换群 置换为双射$pi:[n]to [n]$, 置换之间的操作符 $cdot$ 定义为函数的复合, 即$(pi cdot s ...

  3. UVa 10294 (Pólya计数) Arif in Dhaka (First Love Part 2)

    Burnside定理:若一个着色方案s经过置换f后不变,称s为f的不动点,将置换f的不动点的数目记作C(f).等价类的数目等于所有C(f)的平均值. 一个项链,一个手镯,区别在于一个能翻转一个不能,用 ...

  4. polya计数定理在ACM-icpc中的应用

    [数学公式] PG(x1,x2,...,xn) = 1/|G| * ∑π∈G x1^b1 * x2^b2*...*bn^bn   其中π是1^b12^b2...n^bn型轮换 然后一般染色情况下x1= ...

  5. 组合数学(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 ...

  6. 置换群 Burnside引理 Pólya定理(Polya)

    置换群 设\(N\)表示组合方案集合.如用两种颜色染四个格子,则\(N=\{\{0,0,0,0\},\{0,0,0,1\},\{0,0,1,0\},...,\{1,1,1,1\}\}\),\(|N|= ...

  7. 数学:Burnside引理与Pólya定理

    这个计数定理在考虑对称的计数中非常有用 先给出这个定理的描述,虽然看不太懂: 在一个置换群G={a1,a2,a3……ak}中,把每个置换都写成不相交循环的乘积. 设C1(ak)是在置换ak的作用下不动 ...

  8. [spoj104][Highways] (生成树计数+矩阵树定理+高斯消元)

    In some countries building highways takes a lot of time... Maybe that's because there are many possi ...

  9. bzoj 1004 Cards 组合计数

    这道题考察的是组合计数(用Burnside,当然也可以认为是Polya的变形,毕竟Polya是Burnside推导出来的). 这一类问题的本质是计算置换群(A,P)中不动点个数!(所谓不动点,是一个二 ...

随机推荐

  1. thinkphp传递参数

    php文件输出 U() 跳转地址, echo U('Index/index',array('uid'=>1,'username'=>'wang','time'=>165465121) ...

  2. 路径 dirname(__FILE__)

    require(dirname(__FILE__).'/include/init.php');

  3. python 多线程学习

    多线程(multithreaded,MT),是指从软件或者硬件上实现多个线程并发执行的技术 什么是进程? 计算机程序只不过是磁盘中可执行的二进制(或其他类型)的数据.它们只有在被读取到内存中,被操作系 ...

  4. Lua 之数据结构

    Lua 之数据结构 数组 通过整数下标访问的table中的元素,即是数组,下标默认从1开始. 一个创建二维数组的例子: mt = {} , do mt[i] = {} , do mt[i][j] = ...

  5. 缺少索引导致的服务器和MYSQL故障。

    故障现象: 网站访问缓慢. 数据库RDS: CPU满,连接数满,其他值都是空闲. apache服务器:CPU正常,IO正常,流量报警,内存爆满. 解决思路: 一.没遇到过此情况,一脸懵逼. 二.请教大 ...

  6. TableView的执行流程 & 位移枚举

    // 闲来无聊测试一下 第一轮: 1.numberOfSectionsInTableView    :假如section=2,此函数只执行一次,假如section=0,下面函数不执行,默认为1 2.h ...

  7. codeforces #270 ABCD

    Codeforces Round #270 A - Design Tutorial: Learn from Math 题意:给出n,求出两个合数x和y使x+y=n. 题解:暴力筛合数,然后暴力找 // ...

  8. Python XML解析(转载)

    Python XML解析 什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你可以通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是 ...

  9. codevs2171 棋盘覆盖

    题目描述 Description 给出一张n*n(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩盖. 输入描述 Input Description 第一 ...

  10. cf#306D. Regular Bridge(图论,构图)

    D. Regular Bridge time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...