WC上wwwwodddd讲的整数和多项式相关里面最后又burnside引理的一部分
被生成函数调戏疯了的我突然断线重连
坐在礼堂最后一排的沙发位上和老黄人疯狂口糊
不过听课的时候想的不是很细,重新整理了一发
大概就是
本质不同的方案数=1置换个数∑cnti=0在置换i下不变的方案数 本 质 不 同 的 方 案 数 = 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 取模。 当两种方案通过旋转后变得相同时,我们认为他们本质相同。
但是不能翻转。
观察置换,会发现移动 p−1 p − 1 位的置换存在 ngcd(p,n) n g c d ( p , n ) 个循环节,根据burnside引理, ans=1n∑ni=1cngcd(p,n) a n s = 1 n ∑ i = 1 n c n g c d ( p , n ) ,把它写成欧拉函数的形式 ans=1n∑d|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=1n∑d|nϕ(nd)f(nd)d
a
n
s
=
1
n
∑
d
|
n
ϕ
(
n
d
)
f
d
(
n
d
)
推公式的方法与Problem2同理
其中
fd
f
d
为长度为
d
d
的合法方案数,计算方法为,
f2=3
f
2
=
3
,
fn=fn−1+fn−2
f
n
=
f
n
−
1
+
f
n
−
2
讲题的时候和老黄人已经想出来解法,但是不会证,满心期待地准备听证明结果讲踢人略过去。回来之后大概想了一下,大概是如果要放一个白色的球,那么方案数为
fn−1
f
n
−
1
,若放一个黑色的球,上一个结尾如果是黑色球的话那么我们这次放白球+黑球,上一个结尾如果是白色球的话我们这次放黑球+白球,方案数为
fn−2
f
n
−
2
,得到转移
fn=fn−1+fn−2
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=1nm∑na=1∑mb=1cnmlcm(a,b) a n s = 1 n m ∑ a = 1 n ∑ b = 1 m c n m l c m ( a , b ) ,写成欧拉函数形式化简为 ans=1nm∑a|n∑b|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的颜色方案可以写成一个函数:
大概理解为:回顾polya计数法,每个置换里面需要染相同的颜色,而这里,若整体选取颜色循环节我们都认为他是同一种颜色
继续套用上面那题的公式即可
ans=1nm∑a|n∑b|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对这些置换取平均值即可
冬令营考得好龊,诶