zoukankan      html  css  js  c++  java
  • Pólya计数定理

    我日啊..被cls的计数题虐得欲仙欲死...根本不会计数QAQ...

    不懂数学啊...

    前置技能

    群是二元组((G,*)),满足

    • (*:(G,G) ightarrow G)
    • (exists ein G, forall xin G, x*e=x=e*x, mathtt{(单位元)})
    • (forall xin G, exists yin G, x*y=e, mathtt{记}y=x^{-1}, mathtt{(存在逆元)})
    • (forall x,y,zin G, (x*y)*z=x*(y*z), mathtt{(结合律)})

    (a*b)(ab).

    置换

    一个作用在集合(G)上的置换群((S_G,circ))(s: G ightarrow G)((s)是一一对应,称为作用在(G)上的置换)的集合,其中(circ)是复合操作,即(x,yin S_G,tin G, (xcirc y)(t)=y(x(t))).

    循环

    循环是一类特殊的置换, 表示为(f=(a_1a_2cdots a_n)),表示(f(x)=egin{cases}a_{(i+1)mod n} &,mathtt{if}~x=a_i\x &,mathtt{whatever~else}end{cases}),记(f)为长度为(n)的置换,(l(f)=n)

    显然一个置换可以分解为一堆不相交循环对(circ)的乘积,只需要考察集合里的元素不断作用置换(p)回到原点时经过的元素.这个过程称为置换的分解,分解后的集合记为(alpha(p))(我也不知道可以用什么符号干脆就用个(alpha)好孩子们别学我= =).

    (eta_k(p)=sumlimits_{iin alpha(p)}[l(i)=k])(即p的分解中长度为(k)的循环的个数).

    Pólya定理

    对于set((X)),group((Gsubseteq S_X,circ)),用(m)种颜色给(X)染色,求方案数.

    等价性: 若两个染色(x,y)可以通过(G)中的一个置换的作用变为相等,这两个置换就是等价的.

    相信学习Pólya的大家都见过这个式子:

    [mathtt{ans}=frac{1}{mid Gmid}sum_{gin G}m^{mid alpha(g)mid} ]

    但是这个式子其实是一个简化版的Pólya定理= =.它太弱了,甚至不能处理颜色个数有不同的情况..

    (待补.)

  • 相关阅读:
    python学习笔记 day37 Manager (IPC机制----进程之间互相通信)
    python学习笔记 day37 管道Pipe (IPC机制----进程之间互相通信)
    python学习笔记 day37 生产者消费者模型
    python学习笔记 day36 队列(IPC机制----进程之间互相通信)
    HDU 3068 最长回文
    CodeForces Round #555 Div.3
    2016湖南省赛 [Cloned]
    HDU 3486 Interviewe
    CodeForces Round #554 Div.2
    POJ 1050 To the Max
  • 原文地址:https://www.cnblogs.com/tmzbot/p/5492776.html
Copyright © 2011-2022 走看看