羣論是數學分支之一,在OI中的運用主要在於置換羣和Burnside引理,polya定理。html
http://blog.csdn.net/liangzhaoyang1/article/details/72639208數組
http://blog.csdn.net/gengmingrui/article/details/50564027ide
http://www.cnblogs.com/candy99/category/955780.htmlui
https://files.cnblogs.com/files/HocRiser/Burnside.pdfspa
首先介紹羣的概念.net
羣是一個集合和一個定義在集合上的運算$*$組成的有序二元組,這個集合中的元素包含很是普遍(元素自己就能夠是一種運算等等)。羣須要知足四個公理:封閉性(對於*運算封閉),結合性($a*b=b*a$),存在幺元($e*a=a$),任意元素存在逆元($a*a^{-1}=e$)。htm
而後是置換羣$G$:一個置換規定一種變換法則,將集合中的一些元素映射成另外一些。blog
OI中通常能夠認爲「元素」是一個數組$\{a_i\}$,對這個數組的變換(如交換某兩個元素,翻轉等等)就是置換,置換羣就是一個置換的集合加上一個「疊加」運算(就是兩個置換一次操做)。get
有了這些概念,就能夠引入Burnside的概念了。數學
不動點$c(a_i)$:若某元素在置換$a_i$下不改變,則成它爲置換$a_i$的不動點。
元素軌道$E_k$(等價類):一個元素通過置換能獲得的全部元素集合(這裏元素能夠看作一個點,置換能夠看做走一條邊,軌道就是能走到的全部點的集合)。
穩定化子$Z_k$ :使操做後這個元素不變的置換集合(即這個元素是此集合內全部置換的不動點)。
拉格朗日定理:一個有限羣的子羣的元素個數必能整除這個羣的元素個數。
軌道-穩定化子定理:$|E_k|*|Z_k|=G$
由上式便可推出Burnside引理:一個置換羣的等價類的個數等於各置換不動點個數的平均值。
證實見上面第四個網址,下同。
可是要求每一個置換的不動點個數過於複雜,這時候就須要用到polya定理,就是將不動點的個數具體化爲顏色的循環個數次方。
概念理解以後就能夠作練習了,下面是例題。
注意題目是否給出了恆等變換,若是沒有則須要本身添加。
切記:循環是全部問題的突破口,DP與數學通式是大部分題目的標算。
不涉及定理的題目:POJ3270,POJ2369,POJ1721,POJ3128,BZOJ1025
polya定理:BZOJ1004,POJ2409,POJ2154