burnside引理+polya计数法小结

WC上wwwwodddd讲的整数和多项式相关里面最后又burnside引理的一部分
被生成函数调戏疯了的我突然断线重连
坐在礼堂最后一排的沙发位上和老黄人疯狂口糊
不过听课的时候想的不是很细,重新整理了一发
burnside引理+polya计数法小结_第1张图片
大概就是

=1cnti=0i 本 质 不 同 的 方 案 数 = 1 置 换 个 数 ∑ i = 0 c n t 在 置 换 i 下 不 变 的 方 案 数

至于polya计数法就是求置换i下不变的方案数,将它理解为:把置换拆成若干个循环,每个循环显然要染一样的颜色,那么方案数=颜色个数^循环个数

bingo,题目走起

Problem1 Path

  • 在一个 n×n 的网格中,从左下角到右上角,每次向上或者向右 走一格,一共需要向右走 n 次,向上走 n 次。输入 n(1 ≤ n ≤
    10^6),问本质不同的方案有多少种。结果对 p = 10^9 + 9 取模。
    如果两个方案可以通过对称和旋转变成相同的,我们认为他们本质相同。

解法:路径可以表示成长度为2n的01串,即每一步向上或者向右,对称即对这个01串翻转,或者对这个01串按位取反(注意这个是可以写成置换形式的)。对于种置换分别讨论:
1、不翻转不取反,方案数= Cn2n C 2 n n
2、翻转不取反,如果要不变那么i和n-i+1位要相同,把01串折半考虑即可,方案数= Cn2n C n n 2 ,若01串长度为奇数则为0
3、不翻转 取反,这怎么可能相同啊,方案数为0
4、翻转且取反,同样折半考虑,第i和第n-i+1位不同,01个数总是相等的,所以任意半个01串翻折取反后都是合法的,方案数为 2n 2 n
burnside引理,上面四个加起来除以四就行了

Problem2 Ring

  • 一个由 n(2 ≤ n ≤ 10^9) 个珠子组成的环,我们要将所有珠子染 成 c(1 ≤ c ≤ 10^9)
    种颜色之一。问存在多少种本质不同的方案, 结果对 10^9 + 7 取模。 当两种方案通过旋转后变得相同时,我们认为他们本质相同。
    但是不能翻转。

观察置换,会发现移动 p1 p − 1 位的置换存在 ngcd(p,n) n g c d ( p , n ) 个循环节,根据burnside引理, ans=1nni=1cngcd(p,n) a n s = 1 n ∑ i = 1 n c n g c d ( p , n ) ,把它写成欧拉函数的形式 ans=1nd|nϕ(nd)c(nd) a n s = 1 n ∑ d | n ϕ ( n d ) c ( n d ) ,枚举约数的时间代价就能求出来。

Problem3 Ring

  • 一个由 n(2 ≤ n ≤ 109) 个珠子组成的环,我们要将所有珠子染 成 黑白两种颜色。但是黑色不能相邻,问有多少种本质不同的
    方案,结果对 109 + 7 取模。 当两种方案通过旋转后变得相同时,我们认为他们本质相同。 但是不能翻转。

ans=1nd|nϕ(nd)f(nd)d a n s = 1 n ∑ d | n ϕ ( n d ) f d ( n d )
推公式的方法与Problem2同理
其中 fd f d 为长度为 d d 的合法方案数,计算方法为 f1=1 f 1 = 1 f2=3 f 2 = 3 fn=fn1+fn2 f n = f n − 1 + f n − 2
讲题的时候和老黄人已经想出来解法,但是不会证,满心期待地准备听证明结果讲踢人略过去。回来之后大概想了一下,大概是如果要放一个白色的球,那么方案数为 fn1 f n − 1 ,若放一个黑色的球,上一个结尾如果是黑色球的话那么我们这次放白球+黑球,上一个结尾如果是白色球的话我们这次放黑球+白球,方案数为 fn2 f n − 2 ,得到转移 fn=fn1+fn2 f n = f n − 1 + f n − 2

Problem4 Face

  • 一个由 n×m 的矩形,我们要用他非常正常地密铺整个平面, 我们要将所有格子染成 c 种颜色。问有多少种本质不同的方案, 结果对 10^9+7 取模。 当两种方案看起来一样时,即矩形通过循环平移时一样,我们认 为他们本质相同。 1 ≤ n ≤ 109,1 ≤ m ≤ 109,1 ≤ c ≤ 10^9

嗯这是一个矩阵,所以它的置换也是一个矩阵,这个矩阵也是可以找循环节的,两维分别位移a和b个单位的时候,矩阵的循环节为 nmlcm(a,b) n m l c m ( a , b ) ,直接套用burnside引理 ans=1nmna=1mb=1cnmlcm(a,b) a n s = 1 n m ∑ a = 1 n ∑ b = 1 m c n m l c m ( a , b ) ,写成欧拉函数形式化简为 ans=1nma|nb|mϕ(na)ϕ(mb)cnmlcm(a,b) a n s = 1 n m ∑ a | n ∑ b | m ϕ ( n a ) ϕ ( m b ) c n m l c m ( a , b )

Problem5 Face

  • 一个由 n×m 的矩形,我们要用他非常正常地密铺整个平面, 我们要将所有格子染成 c 种颜色。输入 n,m,c 和一个长度为 c 的排列
    p。问有多少种本质不同的方案,结果对 10^9 + 7 取模。 问有多少种方案,将第 i 种颜色替换为 pi 之后看起来是一样的。
    (因为会密铺整个平面,所以即使交换两种颜色,他看起来还是 有可能和原先一模一样。)
    换句话说,我们问有多少本质不同的方案,满足交换颜色之后, 存在一种平移方式和自己相等。这句话中的本质不同是指两种方
    案如果通过平移可以互相得到那么我们算作一种。 1 ≤ n,m ≤ 10^9,1 ≤ c ≤ 16

可以发现颜色本身也是一个置换,将它写成循环节的形式,令d[cnt]表示循环节的长度,那么取长度为x的颜色方案可以写成一个函数:
burnside引理+polya计数法小结_第2张图片
大概理解为:回顾polya计数法,每个置换里面需要染相同的颜色,而这里,若整体选取颜色循环节我们都认为他是同一种颜色
继续套用上面那题的公式即可 ans=1nma|nb|mϕ(na)ϕ(mb)c(lcm(a,b))nmlcm(a,b) a n s = 1 n m ∑ a | n ∑ b | m ϕ ( n a ) ϕ ( m b ) c ( l c m ( a , b ) ) n m l c m ( a , b )

Problem 6 Wool

  • 一个由 n×m 的矩形,我们要用他非常正常地密铺整个平面,我 们要将所有格子染成 c 种颜色。但是 B 君是一个色盲,B 君只
    能判断两种颜色是否相同,而无法判断出每种颜色具体是什么。 输入 n,m,c。问有多少种本质不同的方案,结果对 10^9 +7 取模。
    当两种方案看起来一样时,即矩形通过循环平移时一样,或者将 颜色重新标号,我们认为他们本质相同。 1 ≤ n,m ≤ 10^9,1 ≤ c
    ≤ 16

上一题给了循环节,这一题没给,怎么办
自己把颜色数分解成循环就好了咯,16的拆分数为231
最后套用burnside对这些置换取平均值即可

冬令营考得好龊,诶

你可能感兴趣的:(burnside引理)