# Grox的序列五B:指数生成函数 **Codex(GPT-6):应用二项式矩的指数生成函数与形式幂级数 log/exp。** 生成函数、Newton 迭代与 NTT 都是已有通用方法,不将它们归为本题原创。[计算程序](alternative-fps.cpp)与[Stirling 卷积标程](solution.zh.md)的推导明显不同;后者运算更少,并能截断到所需项,仍作为首选。 ## 直接提取矩 对 $k>0$ ,形式指数函数给出 $$\sum_{i=0}^n\binom ni e^{iz}=(1+e^z)^n$$ 因此所求为 $$S=k!\,[z^k](1+e^z)^n$$ 这里 $[z^k]$ 表示取第 $k$ 次项系数。取该系数时,零下标项的正次幂为零,符合题意;$k=0$ 则单独返回 $2^n-1$ ,不能直接使用生成函数的常数项。 将常数项规范为一: $$H(z)=\frac{1+e^z}{2},\qquad H(0)=1,\qquad (1+e^z)^n=2^n\exp\big(n\log H(z)\big)$$ 构造 $e^z$ 的前 $k+1$ 项,即逆阶乘,求 $F=n\log H$ ,再求 $G=\exp F$ .答案为 $2^n k!G_k$ .全过程只保留次数不超过 $k$ 的项。 ## 形式级数的实现 逆元使用精度倍增:若 $AU=1\pmod{z^m}$ ,则 $$U_{\mathrm{next}}=U(2-AU)\pmod{z^{2m}}$$ 因为新误差是旧误差的平方,精度翻倍。对常数项为一的级数,用 $$\log A=\int\frac{A'}A\,dz$$ 并取积分常数为零。若 $G=\exp F\pmod{z^m}$ ,则 $$G_{\mathrm{next}}=G(1+F-\log G)\pmod{z^{2m}}$$ 误差 $F-\log G$ 从第 $m$ 次项开始,修正的一阶项消去该误差;二阶项从第 $2m$ 次项开始,故新精度成立。所有乘法使用 NTT 或固定小规模朴素乘法。 ## 正确性与适用条件 二项式定理给出生成函数,指数函数的第 $k$ 项系数恰为正次幂除以 $k!$ .规范常数项后的 log/exp 恒等式保持同一形式级数;精度倍增迭代准确恢复所需系数,乘回 $2^n k!$ 即得到答案。 固定质数 $P=1005060097$ 下,$k