树的同构
作者:互联网
给 \(n(\leq 500)\)个点的树染 \(m \leq mod\) 种颜色, 本质不同(颜色和形态)的染色数(对\(998244353\)取模),有根树。
- 如果是无根树就找重心。
重点在算树的同构:
设:某种子树有 \(cnt\) 个同构的, \(f_v\) 为这种子树的染色方案数。
\[f_u = \sum^{cnt}_ {i = 1} \binom{cnt - 1}{i - 1} \binom{f_v}{i} \]-
同构的子树,方案只在意每种染色方案选的数量不同。
\(\binom{f_v}{i}\) 为从\(f_v\)个染色方案里选\(i\)个不同的染色方案。
\(\binom{cnt - 1}{i - 1}\)为用插板法将 \(cnt\) 个同构子树分配给 \(i\) 个染色方案的个数,(每种染色方案选的数量非空)。
-
关于\(f_v\),由于lucas定理:
\[\binom{f_v}{i} \mod p = \binom{\lfloor\frac{f_v}{p}\rfloor}{\lfloor\frac{i}{p}\rfloor} \times \binom{f_v \mod p}{i \mod p} \]当 \(i < p\) 时,就有
\[\binom{f_v}{i} \mod p = \binom{f_v \mod p}{i} \]就能愉快的取模了。
标签:方案,同构,染色,cnt,binom,mod 来源: https://www.cnblogs.com/qjbqjb/p/15423727.html