五边形数

(其实是广义五边形数定理学习笔记)

很棒的博客

广义五边形数定理:

[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 的表示为:

[egin{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)) 级别的,于是可以使用暴力多项式算法。

原文地址:https://www.cnblogs.com/JiaZP/p/14686903.html