一个由2*2方格组成的正方形,每一个格子上能够涂色或不涂色,html
问共有多少种本质不一样的涂色方案。ide
(若两种方案可经过旋转互相获得,称做本质相同的方案)函数
每一个格子能够涂色,能够不涂色,共有16种方案。将16种方案编号。spa
把本质相同的方案合并:翻译
方案1:{1},方案2:{2},htm
方案3:{3,4,5,6},方案4:{7,8,9,10},blog
方案5:{11,12},方案6:{13,14,15,16},rem
共6种方案。get
旋转能够看做是置换,全部置换组成置换群。it
若是x经过某个置换能够变成y,说明x和y等价。
与x互相等价的一组元素组成了一个集合,称为x的等价类。
这个问题中,咱们要求的就是这样的等价类有多少个。
咱们由Burnside's lemma 可得
\[ \begin{split} |X/G|&=|G|^{-1}\cdot \sum_{g\in G}|x^g|\\ 即\ 等价类的个数&=每一个置换中不动元的个数和÷置换群的大小 \end{split} \]
对于该题,不动元为转动必定角度时,图形不发生变化,
不旋转,不动元16个,
逆时针90度,不动元2个{1,2},
逆时针180度,不动元4个{1,2,11,12},
逆时针270度,不动元2个{1,2}。
\[ |X/G|=\frac {16+2+4+2}{4}=6 \]
\[ \begin{split} |X/G|&=\frac 1{|G|}\sum_{g\in G}|x^g|\\ 等价类个数&=不动元个数的平均数 \end{split} \]
\(X\)为16种状况,\(X/G\)为6种方案,\(G\)为旋转?度,
\(x\)为其中一种方案,\(|g_x|\)为\(G\)中旋转?度后使\(x\)方案中的状况不变的度数的个数。
考虑一个等价类,有
\[ |x||g_x|=|G|,x\in X/G \]
其中,\(x\)为\(X\)的一个等价类,\(|g_x|\)为使它不发生改变的置换个数,
\(G\)为总置换个数,\(X/G\)为\(X\)在\(G\)置换群下的等价类的集合。
能够感性认知,对于一个等价类,有\(|g_x|\)种使它不发生改变的置换,
由于对于等价类\(x\),本质不一样的置换能够其中一个元素变为其余任意元素,因此有\(|x|\)种。
本质不一样的置换个数×不变的置换个数=总置换个数。
考虑枚举每个等价类,有
\[ \sum_{x\in X/G}|x||g_x|=|G|\cdot|X/G| \]
每个等价类对右式的贡献为\(|G|\),共\(|X/G|\)个。
考虑交换枚举顺序,有
\[ \sum_{x\in X}|g_x|=\sum_{g\in G}|x^g| \]
其中\(x\)指\(X\)的一个元素,\(|g_x|\)为使它不发生改变的置换个数,
此处的\(|g_x|\)与上面相同,由于同一个等价类\(|g_x|\)必定相同。
等式右半部分\(g\)为\(G\)中的一个置换,\(|x^g|\)为在该置换下不发生改变的元素个数。
因为\(\sum\limits_{x\in X/G}|x|\)能够等价于枚举完全部的元素,有
\[ \begin{split} |G|\cdot |X/G|&=\sum_{x\in X/G}|x||g_x|(x指等价类)\\ &=\sum_{x\in X}|g_x|(x指元素)\\&=\sum_{g\in G}|x^g| \end{split} \]
一条含\(n\)颗珠子的项链,珠子的颜色有\(m\)种。
每种颜色的珠子个数为\(a_i\) \((a_1+a_2+\cdots+a_m=n)\),求不一样项链的种数。
咱们定义\(K\)循环为形如
\[ \begin{pmatrix}a_1,a_2,\cdots,a_n\\a_{k+1},a_{k+2},\cdots,a_{k}\end{pmatrix} \]
的循环
对于一个\(K\)循环,通过\(\frac{lcm(n,k)}{k}\)后能够变回原来的项链。
\[ \frac{lcm(n,k)}{k}=\frac n{gcd(n,k)} \]
这是循环节的大小,且每一个循环节大小相等,
对于一个\(n\)个元素可重集合,
设\(p\)为每种元素的个数,知足\(p_1+p_2+\cdots+p_m=n\),排列数有
\[ A=\frac{(\sum\limits_{i=1}^mp_i!)}{\prod\limits_{i=1}^m(p_i!)} \]
就这道题而言,
对于一个\(K\)循环,咱们有每种颜色的循环节个数为
\[ \frac {a_i}{\frac {n}{gcd(n,k)}} \]
则由这些循环节组成的总方案数等同于排列数
\[ ans=\frac{n!}{\prod_{i=1}^m\frac {a_i}{\frac {n}{gcd(n,k)}}} \]
又由于对于一个给定的\(d\),使\(gcd(n,k)==d\)的\(k\)有\(\varphi(\frac nd)\)个
\[ \begin{split} ans&=\frac{n!}{\prod_{i=1}^m\frac {a_i}{\frac {n}{gcd(n,k)}}}\\ &=\sum_{d|n}\varphi(\frac nd)\frac{n!}{\prod_{i=1}^m\frac {a_i\cdot d}{n}} \end{split} \]
一条含\(n\)颗珠子的项链,珠子的颜色有\(m\)种,求不一样项链的种数。
咱们定义\(K\)循环为形如
\[ \begin{pmatrix}a_1,a_2,\cdots,a_n\\a_{k+1},a_{k+2},\cdots,a_{k}\end{pmatrix} \]
的循环
对于一个\(K\)循环,通过\(\frac{lcm(n,k)}{k}\)后能够变回原来的项链。
\[ \frac{lcm(n,k)}{k}=\frac n{gcd(n,k)} \]
这是循环节的大小,且每一个循环节大小相等,
因此,循环节的个数为
\[ \frac{n}{\frac{n}{gcd(n,k)}}=gcd(n,k) \]
若是每一个循环节中的元素颜色同样,这就是一个\(K\)循环下的不动元,
因此,不动元的个数和为
\[ \sum_{i=1}^nm^{gcd(i,n)} \]
因此,由Burnside's引理得
\[ \begin{split} 等价类的个数&=\frac 1n不动元的个数和\\ &=\frac 1n\sum_{i=1}^n m^{gcd(n,i)}\\ &=\frac 1n\sum_{d|n}\sum_{i=1}^nm^d[gcd(n,i)==d]\\ &=\frac 1n\sum_{d|n}\varphi(\frac nd)m^d \end{split} \]
这样,咱们就成功用Burnside's引理推出了Pólya定理。
\[ |Y^X/G|=1/|G|\sum_{g\in G}|Y|^{c(g)} \]
翻译:
\[ \begin{split} &染色方案数(等价类的个数)\\ =&\frac 1{珠子数(总置换数)}\sum_{对于每种置换} 颜色数(映射数)^{循环节数} \end{split} \]
好比这幅图
颜色数={不染色,染色}
G={逆时针90°,逆时针180°,逆时针270°,不转}。
90°:一个循环节,180°:两个循环节,270°:一个循环节,不转:四个循环节。
因此有
\[ ans=\frac 14\cdot(2^1+2^2+2^1+2^4)=6 \]
首先看一道例题:
有\(m\)个循环节,且循环节长度分别为\(L_1,L_2,\cdots,L_m(L_1+L_2+\cdots+L_m=n)\)的n阶置换有多少种?
(设\(L_1≤L_2≤\cdots≤L_m\))
子问题1:从n个数中选L个出来,能够组成多少个循环?
①:从n个数中选L个出来:\(C_n^L\)
②:能够组成多少个循环:\((L-1)!\)
\[ ∴①×②=\frac {n!}{L(n-L)!} \]
子问题2:若\(L_i!=L_j\),答案为多少?
\[ \begin{split} ans&=\frac{n!}{L_1(n-L_1)!}\cdot \frac{(n-L_1)!}{L_2(n-L_1-L_2)!}\cdots\\ &=\frac{n!}{L_1L_2L_3\cdots L_m} \end{split} \]
设\(B_i\)表示\(i\)阶循环的个数,这\(B_i\)个循环能够造成\(B_i!\)个排列,使答案重复
\[ ∴ans=\frac{n!}{(L_1L_2\cdots L_m)\cdot(B_1!B_2!\cdots B_{L_m}!)} \]
给定一个N 个结点的无向彻底图,
如今你能够用 M 种颜色对这个图的每条边进行染色,每条边必须染一种颜色。
若两个已染色的图,
其中一个图能够经过结点从新编号而与另外一个图彻底相同,
就称这两个染色方案相同。
如今问你有多少种本质不一样的染色方法,输出结果 mod P。
N≤53,M≤1000,P 是一个大于N 的质数。
咱们能够先解决点置换的问题。
根据前置例题,咱们只需对\(L_1,L_2,\cdots,L_m\)进行枚举便可。
枚举量大概\(329931\)。
如今,
若是能够把边的置换与点的置换联系在一块儿,
算出边置换的循环节数与\(L_1\cdots L_m\)的关系,
那么问题就解决了。
对于一个固定的点置换进行分析。
一条边链接的两个定点要么在同一个循环内,要么在两个不一样的循环内。
咱们能够分别讨论。
①:对于一个\(n\)阶点循环,其内部的边能够组成多少个边循环?
如图,
两点编号之差为\(1\)的边构成了一个循环,
两点编号之差为\(2\)的边构成了一个循环
······
两点编号之差为\(\lfloor\frac n2\rfloor\)的边构成了一个循环
若是位置号相差大于\(\lfloor\frac n2\rfloor\),因为对称性,已经在以前讨论过了。
共\(\lfloor\frac n2\rfloor\)个循环。
②:不一样循环的状况
两个循环间共有\(n\cdot m\)条边。
把两个循环分别看做两个齿轮,
对一条边来讲,其左右端点同时移动,共\(\text{lcm}(n,m)\)条边。
即:等价类的大小=\(\text{lcm}(n,m)\)。
由于图是对称的,等价类等大,故等价类共有\(\frac {n\cdot m}{\text{lcm}(n,m)}=\gcd(n,m)\)个。
因此有\(\gcd(n,m)\)个循环节。
总置换数为\(\frac 1{n!}\)
对于每一个\(L_1,\cdots,L_k\),共有\(\frac{n!}{\prod_{i=1}^kL_i\prod_{i=1}^kB_i!}\)种置换,
对于每种置换,有\(\sum_{i=1}^k\lfloor\frac{L_i}{2}\rfloor+\sum_{i=1}^k\sum_{j=i+1}^k\gcd(L_i,L_j)\)个循环节。
因此:
\[ \begin{split} ans=\frac 1{n!}\sum_{L_1,L_2\cdots,L_k}\frac{n!}{\prod_{i=1}^kL_i\prod_{i=1}^kB_i!}\cdot m^{\sum_{i=1}^k\lfloor\frac{L_i}{2}\rfloor+\sum_{i=1}^k\sum_{j=i+1}^k\gcd(L_i,L_j)} \end{split} \]
原题目就是Pólya定理的引例,这里是变式:
一个由 \(n(2 ≤ n ≤ 10^9)\) 个珠子组成的环,
咱们要将全部珠子染成黑白两种颜色,可是黑色不能相邻,
问有多少种本质不一样的方案,结果对 \(10^9 + 7\) 取模。
当两种方案经过旋转后变得相同时,咱们认为他们本质相同。(不能翻转)
设\(f_d\)表示不考虑本质相同,染一个长度为\(d\)的环的合法方案数。
对于置换\(K\)的环,因为其循环节个数为\(gcd(n,i)\),因此其不动元个数为\(f_{gcd(n,i)}\)。
\[ \begin{split} ans&=\frac 1n\sum_{i=1}^nf_{gcd(n,i)}\\ &=\frac 1n\sum_{d|n}\varphi(\frac nd)f_d \end{split} \]
由我也推不出来的方法得:
\[ f_1=1,f_2=3,f_i=f_{i-1}+f_{i-2} \]
一个由 \(n \cdot m\) 的矩形,咱们要用他很是正常地密铺整个平面,
咱们要将全部格子染成 \(c\) 种颜色。
问有多少种本质不一样的方案,结果对 \(10^9 + 7\) 取模。
当两种方案看起来同样时,即矩形经过循环平移时同样,咱们认为他们本质相同。
\(1 ≤ n ≤ 10^9, 1 ≤ m ≤ 10^9, 1 ≤ c ≤ 10^9\)
横向考虑,循环节大小为\(\frac n{\gcd(n,i)}\);纵向考虑,循环节大小为\(\frac m{\gcd(m,j)}\)。
因此,总的循环节大小为\(\text{lcm}(\frac n{\gcd(n,i)},\frac m{\gcd(m,j)})\)。
因为每一个循环节大小相等,且共有\(n\cdot m\)个元素。
因此,循环节的个数为\(\frac {n\cdot m}{\text{lcm}(\frac n{\gcd(n,i)},\frac m{\gcd(m,j)})}\)。
\[ \begin{split} ans&=\frac 1{n\cdot m}\sum_{i=1}^n\sum_{j=1}^mc^{\frac {n\cdot m}{\text{lcm}(\frac n{\gcd(n,i)},\frac m{\gcd(m,j)})}}\\ &=\frac 1{n\cdot m}\sum_{a|n}\sum_{b|m}\varphi(\frac na)\varphi(\frac mb)c^{\frac {n\cdot m}{\text{lcm}(\frac na,\frac mb)}}\\ &=\frac 1{n\cdot m}\sum_{a|n}\sum_{b|m}\varphi(a)\varphi(b)c^{\frac{n\cdot m}{\text{lcm}(a,b)}} \end{split} \]
一个由 \(n \cdot m\) 的矩形,咱们要用他很是正常地密铺整个平面,咱们要将全部格子染成 \(c\) 种颜色。
输入 \(n, m, c\) 和一个长度为 \(c\)的排列 \(p\)。
问有多少种本质不一样的方案,将第 \(i\) 种颜色替换为 \(p_i\) 以后看起来是同样的。
结果对 \(10^9 + 7\) 取模。
(由于会密铺整个平面,因此即便交换两种颜色,他看起来仍是有可能和原先如出一辙。)
换句话说,咱们问有多少本质不一样的方案,
知足交换颜色以后,存在一种平移方式和本身相等。
这句话中的本质不一样是指两种方案若是经过平移能够互相获得那么咱们算做一种 。
$1 ≤ n, m ≤ 10^9, 1 ≤ c ≤ 16 $
\(p\)不是有用的,有用的是\(p\)中每一个轮换的长度。
定义\(C(x)\)表示在循环节长度为\(x\)时可用的颜色数。
只有当轮换长度为\(x\)的因子时,该组轮换的颜色才能保证能够经过平移和本身相等。
因此
\[ ans=\frac 1{n\cdot m}\sum_{a|n}\sum_{b|m}\varphi(a)\varphi(b)C(\text{lcm}(a,b))^{\frac{n\cdot m}{\text{lcm}(a,b)}} \]
一个由 \(n \cdot m\) 的矩形,咱们要用他很是正常地密铺整个平面,咱们要将全部格子染成 \(c\) 种颜色。
可是 B 君是一个色盲, B 君只能判断两种颜色是否相同,而没法判断出每种颜色具体是什么。
输入 \(n, m, c\)。问有多少种本质不一样的方案,结果对 \(10^9 + 7\) 取模。
当两种方案看起来同样时,
即:矩形经过循环平移并将颜色从新标号后同样,
咱们认为他们本质相同。
$1 ≤ n, m ≤ 10^9, 1 ≤ c ≤ 16 $
由Burnside引理得
\[ ans=\frac{对于每种置换的不动元的总和}{n\cdot m\cdot c!} \]
考虑枚举\(c\)的每种置换,此时就与上题答案相同。
考虑交换枚举顺序,枚举全部轮换的长度,也就是\(c\)的一个拆分。
对于每一个拆分,咱们能够用上题的方法计算答案\(ans'\)。
而后计算这个拆分对应的排列有多少个,用2.3应用中的前置例题的解法求解。
咱们有
\[ ans=\frac{\sum_{对于c的拆分}ans'\cdot 该拆分下的排列数}{n\cdot m\cdot c!} \]
\(16\)的拆分数只有\(231\),能够接受。
B 君做为一个色盲,
对一个 \(n\) 个点的无向彻底图全部的边进行染 \(m\) 种颜色,问有多少种本质不一样的染色方法。
若是两个方案经过对点的从新标号,或者对颜色的从新标号,
能够变为相同的,那么咱们认为他们本质相同。
$1 ≤ n ≤ 16, 1 ≤ m ≤ 16 $
设Problem5的方法套上Problem3的\(C\)函数后计算出的答案为\(ans'\)
\(ans\)同Problem4