burnside引理+polya计数法小结

本文探讨了Burnside引理和Polya计数法在解决组合数学问题中的应用,包括路径、环状排列、平面密铺等多个场景,并提供了具体的解题思路和公式推导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

bingo,题目走起

Problem1 Path

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

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

Problem2 Ring

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

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

Problem3 Ring

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

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

Problem4 Face

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

嗯这是一个矩阵,所以它的置换也是一个矩阵,这个矩阵也是可以找循环节的,两维分别位移a和b个单位的时候,矩阵的循环节为nmlcm(a,b)nmlcm(a,b),直接套用burnside引理ans=1nmna=1mb=1cnmlcm(a,b)ans=1nm∑a=1n∑b=1mcnmlcm(a,b),写成欧拉函数形式化简为ans=1nma|nb|mϕ(na)ϕ(mb)cnmlcm(a,b)ans=1nm∑a|n∑b|mϕ(na)ϕ(mb)cnmlcm(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的颜色方案可以写成一个函数:
这里写图片描述
大概理解为:回顾polya计数法,每个置换里面需要染相同的颜色,而这里,若整体选取颜色循环节我们都认为他是同一种颜色
继续套用上面那题的公式即可ans=1nma|nb|mϕ(na)ϕ(mb)c(lcm(a,b))nmlcm(a,b)ans=1nm∑a|n∑b|mϕ(na)ϕ(mb)c(lcm(a,b))nmlcm(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对这些置换取平均值即可

冬令营考得好龊,诶

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值