题意
求1到n的分拆数。
n = 1 0 5 n=10^5 n=105
分析
设分拆数的生成函数为 F ( x ) = ∑ i = 1 n f ( i ) x i F(x)=\sum_{i=1}^nf(i)x^i F(x)=i=1∑nf(i)xi
显然有
F ( x ) = ∏ k = 1 n 1 1 − x k F(x)=\prod_{k=1}^n\frac{1}{1-x^k} F(x)=k=1∏n1−xk1
两边取对数得
ln F ( x ) = ∑ i = 1 n ln 1 1 − x k \ln F(x)=\sum_{i=1}^n\ln \frac{1}{1-x^k} lnF(x)=i=1∑nln1−xk1
将右边的式子泰勒展开一下可得
ln F ( x ) = ∑ k = 1 n ∑ i ≥ 1 x k i i \ln F(x)=\sum_{k=1}^n\sum_{i\ge1}\frac{x^{ki}}{i} lnF(x)=k=1∑ni≥