解决本质不同方案数
"引理"和"定理"并没有什么区别
Burnside引理
∣ X / G ∣ = ∑ g ∈ G ∣ X g ∣ ∣ G ∣ |X/G|=\frac{\sum_{g\in G}|X^g|}{|G|} ∣X/G∣=∣G∣∑g∈G∣Xg∣
定义
| 符号 | 定义 | 解释 |
|---|---|---|
| X X X | A , B A,B A,B为两个有限集合, X = B A X=B^A X=BA表示所有从 A A A到 B B B的映射 | 相当于给小球集合 A A A中的每个求涂上颜色集合 B B B中的颜色 |
| G G G | 作用在 A A A上的置换群 | 字面意思 |
| X / G X/G X/G | X X X上产生的所有等价类的集合 | 若 X X X中的两个映射能经过 G G G中的置换作用后相等,那么称它们在同一个等价类中 |
| X g X^g Xg | { x \{x {x| x ∈ X , g ( x ) = x } x\in X,g(x)=x\} x∈X,g(x)=x} | X X X在置换 g g g下的不动点(字面意思)集合 |
证明
根据
轨道-稳定子定理,证明在这里
注意当 X ⊆ B A X\subseteq B^A X⊆BA时, B u r n s i d e Burnside Burnside引理依然成立,因为证明中并没有用到 X = B A X=B^A X=BA的条件
Polya定理
B
u
r
n
s
i
d
e
Burnside
Burnside引理在处理染色问题的化简形式
a
n
s
=
∑
g
∈
G
m
c
(
g
)
∣
G
∣
ans=\frac{\sum_{g\in G}m^{c(g)}}{|G|}
ans=∣G∣∑g∈Gmc(g)
定义
| 符号 | 定义 | 解释 |
|---|---|---|
| m m m | 可用的颜色数 | |
| c ( g ) c(g) c(g) | 置换 g g g中的轮换数 | 对于 g g g中的每个映射连一条有向边,最后显然形成若干个简单环(因为是双射,每个点入度出度为1),环数即为轮换数 |
证明
证明在这里
其实比较显然,这里要化简的是计算不动点的数量
对于每一个置换 g g g,若其存在不动点,每个置换环上的点颜色显然分别相同,总共有 c ( g ) c(g) c(g)个环可以自由染色,其不动点数为 m c ( g ) m^{c(g)} mc(g)
应用
[MtOI2018]魔力环
题目描述
给定一个 n n n元环,把其中 m m m个点染成黑色,满足没有超过连续 k k k个点相连,求满足条件的本质不同的方案数
题解
G = ( { G=(\{ G=({顺时针旋转 0 0 0步,顺时针旋转 1 1 1步…顺时针旋转 n − 1 n-1 n−1步 } , + m o d n ) \},+\mod n) },+modn)
考虑每个置换对答案的贡献
对于顺时针旋转 k k k步而言,一个元素是不动点当且仅当它有长度为 a a a的循环节且满足 a ∣ k a|k a∣k.显然, a ∣ n a|n a∣n.所以一个元素是不动点的条件等价于它有长度为 gcd ( k , n ) \gcd(k,n) gcd(k,n)的循环节
显然, k = 0 k=0 k=0时,任意一个合法的元素都是不定点,不过为了方便起见暂且把它认为是顺时针旋转 n n n步
这样的话, G = ( { G=(\{ G=({顺时针旋转 1 1 1步,顺时针旋转 2 2 2步…顺时针旋转 n n n步 } , + ) \},+) },+)
设 f ( n , m ) f(n,m) f(n,m)表示将一个 n n n元环其中 m m m个点染成黑色,满足没有超过连续 k k k个点相连方案数
a n s = ∑ k = 1 n [ n gcd ( k , n ) ∣ m ] f ( gcd ( k , n ) , m × gcd ( k , n ) n ) n ans=\frac{\sum_{k=1}^{n}[\frac{n}{\gcd(k,n)}|m]f(\gcd(k,n),\frac{m\times \gcd(k,n)}{n})}{n} ans=n∑k=1n[gcd(k,n)n∣m]f(gcd(k,n),nm×gcd(k,n))
因为循环节首尾相连,和环的情况差不多
套路,枚举 gcd \gcd gcd
a
n
s
=
∑
d
∣
n
n
∑
k
=
1
n
[
gcd
(
k
,
n
)
=
d
]
[
n
d
∣
m
]
f
(
d
,
m
×
d
n
)
n
ans=\frac{\sum_{d|n}^{n}\sum_{k=1}^{n}[\gcd(k,n)=d][\frac{n}{d}|m]f(d,\frac{m\times d}{n})}{n}
ans=n∑d∣nn∑k=1n[gcd(k,n)=d][dn∣m]f(d,nm×d)
=
∑
d
∣
n
n
[
n
d
∣
m
]
f
(
d
,
m
×
d
n
)
∑
k
=
1
n
d
[
gcd
(
k
,
n
d
=
1
]
n
=\frac{\sum_{d|n}^{n}[\frac{n}{d}|m]f(d,\frac{m\times d}{n})\sum_{k=1}^{\frac{n}{d}}[\gcd(k,\frac{n}{d}=1]}{n}
=n∑d∣nn[dn∣m]f(d,nm×d)∑k=1dn[gcd(k,dn=1]
=
∑
d
∣
n
n
[
n
d
∣
m
]
f
(
d
,
m
×
d
n
)
φ
(
n
d
)
n
=\frac{\sum_{d|n}^{n}[\frac{n}{d}|m]f(d,\frac{m\times d}{n})\varphi(\frac{n}{d})}{n}
=n∑d∣nn[dn∣m]f(d,nm×d)φ(dn)
这样的话考虑如何求出 f f f就行了
f ( n , m ) f(n,m) f(n,m)相当于将 m m m个无标号黑点插进 n − m n-m n−m个有标号白点的环中,且没有连续 k k k个黑点的方案数,要乘上 ( i + 1 ) (i+1) (i+1)是因为若第一个白点前黑点的数量( ∈ [ 0 , n ] \in [0,n] ∈[0,n])不同也算不同的方案
枚举 1 1 1号白点与 n n n号白点之间有几个黑点,把环上的问题转换成序列上的问题
f ( n , m ) = ∑ i = 0 min ( m , k ) ( i + 1 ) × g ( n − m − 1 , m − i ) f(n,m)=\sum_{i=0}^{\min(m,k)}(i+1)\times g(n-m-1,m-i) f(n,m)=∑i=0min(m,k)(i+1)×g(n−m−1,m−i), g ( n , m ) g(n,m) g(n,m)为将 m m m个点分为 n n n个有标号组,且每组的数量 ∈ [ 0 , n ] \in [0,n] ∈[0,n]的方案数
钦点一些组打破限制
设 G ( n , m , q w q ) G(n,m,qwq) G(n,m,qwq)为将 m m m个点分为 n n n个有标号组(可以为 0 0 0),至少有 q w q qwq qwq组数量 ∈ ( k , ∞ ] \in (k,\infty ] ∈(k,∞]的方案数, T ( n , m ) T(n,m) T(n,m)为将 m m m个点分为 n n n个有标号组,且每组的数量 ∈ [ 0 , ∞ ] \in [0,\infty] ∈[0,∞]的方案数
G
(
n
,
m
,
q
w
q
)
=
C
n
q
w
q
T
(
n
,
m
−
(
k
+
1
)
×
q
w
q
)
G(n,m,qwq)=C_{n}^{qwq}T(n,m-(k+1)\times qwq)
G(n,m,qwq)=CnqwqT(n,m−(k+1)×qwq)
T
(
n
,
m
)
=
C
n
+
m
−
1
n
−
1
T(n,m)=C_{n+m-1}^{n-1}
T(n,m)=Cn+m−1n−1
g
(
n
,
m
)
=
∑
i
=
0
min
(
n
,
⌊
m
k
+
1
⌋
)
(
−
1
)
i
G
(
n
,
m
,
i
)
g(n,m)=\sum_{i=0}^{\min(n,\lfloor \frac{m}{k+1}\rfloor)}(-1)^iG(n,m,i)
g(n,m)=i=0∑min(n,⌊k+1m⌋)(−1)iG(n,m,i)
=
∑
i
=
0
min
(
n
,
⌊
m
k
+
1
⌋
)
(
−
1
)
i
C
n
i
T
(
n
,
m
−
(
k
+
1
)
×
i
)
=\sum_{i=0}^{\min(n,\lfloor \frac{m}{k+1}\rfloor)}(-1)^iC_{n}^iT(n,m-(k+1)\times i)
=i=0∑min(n,⌊k+1m⌋)(−1)iCniT(n,m−(k+1)×i)
=
∑
i
=
0
min
(
n
,
⌊
m
k
+
1
⌋
)
(
−
1
)
i
C
n
i
C
n
+
m
−
(
k
+
1
)
×
i
−
1
n
−
1
=\sum_{i=0}^{\min(n,\lfloor \frac{m}{k+1}\rfloor)}(-1)^iC_{n}^iC_{n+m-(k+1)\times i-1}^{n-1}
=i=0∑min(n,⌊k+1m⌋)(−1)iCniCn+m−(k+1)×i−1n−1
现在单个 g ( n , m ) g(n,m) g(n,m)可以在 O ( min ( n , m k ) ) = O ( m k ) O(\min(n,\frac{m}{k}))=O(\frac{m}{k}) O(min(n,km))=O(km)的时间内求出
那么单个 f ( d , ∗ ) f(d,*) f(d,∗)可以在 O ( d ) O(d) O(d)的时间内求出
注意到在 a n s = ∑ d ∣ n n [ n d ∣ m ] f ( d , m × d n ) φ ( n d ) n ans=\frac{\sum_{d|n}^{n}[\frac{n}{d}|m]f(d,\frac{m\times d}{n})\varphi(\frac{n}{d})}{n} ans=n∑d∣nn[dn∣m]f(d,nm×d)φ(dn)一式中仅当 n d ∣ m \frac{n}{d}|m dn∣m时会产生贡献,所以最后的复杂度为 O ( σ ( gcd ( n , m ) ) ) O(\sigma(\gcd(n,m))) O(σ(gcd(n,m)))
烷基计数
题目描述
已知碳原子个数 n n n,求对应的烷基有多少种同分异构体
不考虑空间异构
题解
就是 n n n个点的每个点的子节点个数 ≤ 3 \leq 3 ≤3的无标号有根树计数
一共有 6 6 6种置换,考虑每种置换下不动点的数量
先考虑简单 D P DP DP吧,设 f x f_x fx为有 x x x个碳原子的烷基计数
f x = ∑ i + j + k + 1 = x f i f j f k + 3 × ∑ 2 i + j + 1 = x f i f j + 2 × ∑ 3 i + 1 = x f i 6 f_x=\frac{\sum_{i+j+k+1=x}f_if_jf_k+3\times \sum_{2i+j+1=x}f_if_j+2\times \sum_{3i+1=x}f_i}{6} fx=6∑i+j+k+1=xfifjfk+3×∑2i+j+1=xfifj+2×∑3i+1=xfi
然后拿生成函数优化这个柿子
设 F ( x ) F(x) F(x)为 f f f的 O G F OGF OGF
F
(
x
)
=
x
F
3
(
x
)
+
3
×
F
(
x
2
)
F
(
x
)
+
2
×
F
(
x
3
)
6
+
1
F(x)=x\frac{F^3(x)+3\times F(x^2)F(x)+2\times F(x^3)}{6}+1
F(x)=x6F3(x)+3×F(x2)F(x)+2×F(x3)+1
6
F
(
x
)
=
x
F
3
(
x
)
+
3
x
×
F
(
x
2
)
F
(
x
)
+
2
x
×
F
(
x
3
)
+
6
6F(x)=xF^3(x)+3x\times F(x^2)F(x)+2x\times F(x^3)+6
6F(x)=xF3(x)+3x×F(x2)F(x)+2x×F(x3)+6
G
(
F
(
x
)
)
=
x
F
3
(
x
)
+
3
F
(
x
2
)
x
F
(
x
)
+
2
x
F
(
x
3
)
+
6
−
6
F
(
x
)
=
0
G(F(x))=xF^3(x)+3F(x^2)xF(x)+2xF(x^3)+6-6F(x)=0
G(F(x))=xF3(x)+3F(x2)xF(x)+2xF(x3)+6−6F(x)=0
N e w t o n Newton Newton迭代
x , F ( x 2 ) , F ( x 3 ) m o d x n x,F(x^2),F(x^3)\mod x^n x,F(x2),F(x3)modxn相当于常数项
G ′ ( F ( x ) ) = 3 x F 2 ( x ) + 3 x F ( x 2 ) − 6 G'(F(x))=3xF^2(x)+3xF(x^2)-6 G′(F(x))=3xF2(x)+3xF(x2)−6
F ( x ) ≡ f ( x ) − G ( f ( x ) ) G ′ ( f ( x ) ) m o d x n F(x)\equiv f(x)-\frac{G(f(x))}{G'(f(x))}\mod x^n F(x)≡f(x)−G′(f(x))G(f(x))modxn
烷烃计数
已知碳原子个数 n n n,求对应的烷烃有多少种同分异构体
不考虑空间异构
题解
就是 n n n个点的每个点的度数个数 ≤ 4 \leq 4 ≤4的无标号无根树计数
参考博客
无标号无根数还是很难做,考虑怎么做成除根节点外每个点的子节点个数 ≤ 3 \leq 3 ≤3,根节点的子节点个数 ≤ 4 \leq 4 ≤4的无标号有根树计数
考虑对于一棵无根树,设枚举一个点为关键点,整棵树的点等价类数为 p p p,枚举一条边为关键边,整棵树的边等价类数为 q q q,设 s = 1 s=1 s=1当且仅当有两个重心且两个重心等价,那么有 p − q + s = 1 p-q+s=1 p−q+s=1
s = 0 s=0 s=0时,考虑除重心外的每个点与其父亲边(以重心为根)的贡献.若两个点等价,那么这两个点的父亲边(以重心为根)也等价,所以除重心外的贡献为 0 0 0
对于重心,它不可能与其他任何一个点等价,所以贡献为 1 1 1
s = 1 s=1 s=1时,因为两个重心等价,所以 p − q = − 1 p-q=-1 p−q=−1
这样,对于每棵无标号无根树用 p − q + s p-q+s p−q+s统计答案即可做到不重不漏
对于 ∑ p , ∑ q , ∑ s \sum p,\sum q,\sum s ∑p,∑q,∑s分别统计答案
∑ p \sum p ∑p
枚举无标号无根树并统计点等价类,将每个点作为根,就相当于求无标号有根树
即相当于除根节点外每个点的子节点个数 ≤ 3 \leq 3 ≤3,根节点的子节点个数 ≤ 4 \leq 4 ≤4的无标号有根树计数
除根外的节点的子节点个数 ≤ 3 \leq3 ≤3,即相当于前面做过的烷基计数
设烷基计数的 O G F OGF OGF为 A ( x ) A(x) A(x)
对根节点再做一遍 B u r n s i d e Burnside Burnside,设 ∑ p \sum p ∑p的 O G F OGF OGF为 P ( x ) P(x) P(x)
一共有 4 ! = 24 4!=24 4!=24种置换,分类讨论即可
p x + 1 = ∑ i i + i 2 + i 3 + i 4 = x a i 1 a i 2 a i 3 a i 4 + 6 ∑ 2 i 1 + i 2 + i 3 = x a i 1 a i 2 a i 3 + 3 ∑ 2 i 1 + 2 i 2 = x a i 1 a i 2 + 8 ∑ 3 i 1 + i 2 = x a i 1 a i 2 + 6 ∑ 4 i 1 = x a i 1 24 p_{x+1}=\frac{\sum_{i_i+i_2+i_3+i_4=x}a_{i_1}a_{i_2}a_{i_3}a_{i_4}+6\sum_{2i_1+i_2+i_3=x}a_{i_1}a_{i_2}a_{i_3}+3\sum_{2i_1+2i_2=x}a_{i_1}a_{i_2}+8\sum_{3i_1+i_2=x}a_{i_1}a_{i_2}+6\sum_{4i_1=x}a_{i_1}}{24} px+1=24∑ii+i2+i3+i4=xai1ai2ai3ai4+6∑2i1+i2+i3=xai1ai2ai3+3∑2i1+2i2=xai1ai2+8∑3i1+i2=xai1ai2+6∑4i1=xai1
P ( x ) = x A 4 ( x ) + 6 A ( x 2 ) A 2 ( x ) + 3 A ( x 2 ) 2 + 8 A ( x 3 ) A ( x ) + 6 A ( x 4 ) 24 P(x)=x\frac{A^4(x)+6A(x^2)A^2(x)+3A(x^2)^2+8A(x^3)A(x)+6A(x^4)}{24} P(x)=x24A4(x)+6A(x2)A2(x)+3A(x2)2+8A(x3)A(x)+6A(x4)
∑ q \sum q ∑q
就是求两个无标号有根树的根连起来后的不同构方案数
设答案的 O G F OGF OGF为 Q ( x ) Q(x) Q(x)
Q ( x ) = ( A ( x ) − 1 ) 2 + A ( x 2 ) − 1 2 Q(x)=\frac{(A(x)-1)^2+A(x^2)-1}{2} Q(x)=2(A(x)−1)2+A(x2)−1
− 1 -1 −1是因为 0 0 0个点并不能被计入方案
∑ s \sum s ∑s
设答案的 O G F OGF OGF为 S ( x ) S(x) S(x)
S ( x ) = A ( x 2 ) S(x)=A(x^2) S(x)=A(x2)
那么答案就是 P ( x ) − Q ( x ) + S ( x ) P(x)-Q(x)+S(x) P(x)−Q(x)+S(x)
烯烃计数
已知碳原子个数 n n n,求对应的烯烃有多少种同分异构体
不考虑空间异构
题解
把碳-碳双键看作关键边,断开这条关键边,两边分别是一棵根节点的子节点个数 ≤ 2 \leq 2 ≤2,除根节点外子节点个数 ≤ 3 \leq 3 ≤3的无标号有根树
先用 B u r n s i d e Burnside Burnside引理求出这棵树的方案再合并即可
设 n n n个点的烷基计数的 O G F OGF OGF为 A ( x ) A(x) A(x),要求的树的 O G F OGF OGF为 P ( x ) P(x) P(x)
P ( x ) = x A ( x ) 2 + A ( x 2 ) 2 P(x)=x\frac{A(x)^2+A(x^2)}{2} P(x)=x2A(x)2+A(x2)
设答案的 O G F OGF OGF为 Q ( x ) Q(x) Q(x)
Q ( x ) = ( P ( x ) − 1 ) 2 + P ( x 2 ) − 1 2 Q(x)=\frac{(P(x)-1)^2+P(x^2)-1}{2} Q(x)=2(P(x)−1)2+P(x2)−1
同样, − 1 -1 −1是因为 0 0 0个点不能被算入方案
本文深入探讨了组合数学和图论在解决复杂计数问题中的应用,包括使用Burnside引理和Polya定理简化染色问题,以及在特定条件下计算本质不同方案数的方法。通过具体例子如魔力环问题和烷基、烷烃及烯烃的同分异构体计数,展示了这些理论的实际运用。
3088

被折叠的 条评论
为什么被折叠?



