五边形数
(其实是广义五边形数定理学习笔记)
广义五边形数定理:
\[\large { \prod_{i=1}^ \infty (1-x^i) = \sum_i (-1)^i ( x^{\frac{i(3i-1)}{2}} + x^{\frac{i(3i+1)}{2}})}
\]
背过就好了
不难发现 \([x^n]\prod _{i=1}^\infty(1-x^i)\) 的组合意义为 将 \(n\) 拆分成若干不同的正整数的方案数,并且拆成奇数个数的贡献系数为 \(-1\),偶数为 \(1\)。
Ferrers 图
拆分方案可以用 Ferrers 图形象地表示出来。
Ferrers 图的定义为若干行格子,长度和恰好为 \(n\),且长度严格递减。每一行表示拆出来的一个数。
比如 18=7+6+4+1 的表示为:
\[\begin{aligned}
&0 0 0 0 0 0 0\\
&0 0 0 0 0 0\\
&0 0 0 0\\
&0\\
\end{aligned}
\]
记 \(m\) 为最后一行的格子数, \(s\) 为对角线上的格子数。考虑构造一种映射关系。如果 \(m \le s\),那么把最后一行扔到前 \(m\) 行的最后边;如果 \(m > s\),那么把 \(m> s\),那么把对角线拎出来扔到最后一行的下面。这样的话大多数情况都会让(行数的)奇偶构成双射。正负抵消后为 \(0\)。
但是有两种情况会出锅,一种是最后一行和对角线相等且相交:
0 0 0 0 0
0 0 0 0
0 0 0
变成
0 0 0 0 0 0
0 0 0 0 0
0
这时候构成单射,没有统计到。此时形状为梯形,可用等差数列表示:(设有 \(k\) 行)
\[k + (k + 1) + ... + (2k-1) = \frac{(3k-1)k}{2}
\]
注意有个 \(-1\) 的系数,为:
\[-\frac{(3k-1)k}{2}
\]
还有一种是最后一行比对角线多 \(1\) 且相交:
0 0 0 0 0 0
0 0 0 0 0
0 0 0 0
变成
0 0 0 0 0
0 0 0 0
0 0 0
0 0 0
变成了不合法情况,不能构成双射,需要额外加上。此时的 \(n\) 为:
\[-\frac{k(3k+1)}{2}
\]
所以最终的生成函数为:
\[\sum_i (-1)^k (x^{\frac{k(3k-1)}{2}} + x^{\frac{k(3k+1)}{2}})
\]
注意到小于等于 \(n\) 的有值的项的数量为 \(O(\sqrt n)\) 级别的,于是可以使用暴力多项式算法。