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定理= =.它太弱了,甚至不能处理颜色个数有不同的情况..

(待补.)

posted @ 2016-05-14 16:19  zball  阅读(508)  评论(0编辑  收藏  举报