下降幂多项式乘法

前置芝士

下降幂:\(x^{\underline n}=\frac{x!}{(x-n)!}\)

泰勒展开

\[\sum_{i=0}^{\infty}\frac{f_i(a)}{i!}(x-a)^i \]

其中 \(f_i(a)\) 标识函数 \(f(a)\)\(n\) 阶导

OGF普通生成函数

\[\sum_{i=0}^{\infty} a_ix^i \]

EGF指数生成函数

\[\sum_{i=0}^\infty \frac{a_i}{i!} x^i \]

e 相关:

\[e=\lim_{x\rightarrow \infty} (1+\frac{1}{i})^i \]

\[e=\sum_{i=0}^\infty \frac{1}{i!} \]

\[e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i \]

\(e^x\) 的泰勒(麦克劳林)展开)

\[e^{-x}=\sum_{i=0}^\infty \frac{(-1)^i}{i!}x^i \]


下降幂多项式乘法

考虑构造 \(f(x)\)点值EGF \(f'=\sum_{i=0}^\infty \frac{f(i)}{i!}x^i\)

再构造 \(x^{\underline n}\)点值EGF (这里的 \(x\) 与下面式子中的 \(x\) 非同一指代

\[\sum_{i=0}^\infty \frac{i^{\underline n}}{i!}x^i=\sum_{i=0}^\infty \frac{x^i}{(i-n)!} \]

考虑向左平移无穷式 \(n\) 个单位:

\[\sum_{i=0}^\infty \frac{x^i}{(i-n)!}=x^n\sum_{i=0}^\infty\frac{x^i}{i!}=e^xx^n \]

\(f(x)=\sum_{i=0}^\infty a[i]\ x^{\underline i}\),得

\[f'=\sum_{i=0}^\infty \frac{f(i)}{i!}x^i=\sum_{i=0}^\infty \frac{x^i}{i!}\sum_{j=0}^\infty a[j]\ i^{\underline j} \]

换一下求和的位置,得

\[f'=\sum_{j=0}^\infty a[j]\ i^{\underline j}\sum_{i=0}^\infty \frac{x^i}{i!}=\sum_{j=0}^\infty a[j]\ \sum_{i=0}^\infty \frac{i^{\underline j}}{i!}x^i=e^x\sum_{j=0}^\infty a[j]x^j \]

也就是说,一个下降幂多项式 \(f(x)\)点值EGF \(f'\),就是将 \(f\) 当成普通多项式,再乘上 \(e^x\);然后,我们倒推回 \(f\)系数时,可以将 \(f'\) 卷上 \(e^{-x}=\sum_{i=0}^\infty \frac{(-1)^i}{i!}x^i\)

代码

注意次数要开到 \(2\times(n+m)\)

posted @ 2022-04-21 20:53  zuytong  阅读(45)  评论(0编辑  收藏  举报