生成函数随记(持续更新)

1.(生成函数)求 ∑ i = 0 ∞ ( i K ) p i sum_{i=0}^{infty}inom{i}{K}p^i i=0(Ki)pi,其中 ( i K ) = C i K inom{i}{K}=C_i^K (Ki)=CiK 1 ≤ K ≤ 1 0 9 1leq Kleq 10^9 1K109 0 < p < 1 0<p<1 0<p<1

A ( x ) A(x) A(x) 为一多项式, [ x k ] A ( x ) [x^k]A(x) [xk]A(x) 表示这个多项式 k k k 次项的系数。

则根据杨辉三角, ( i K ) inom{i}{K} (Ki) 可以表示成 [ x K ] ( x + 1 ) i [x^K](x+1)^i [xK](x+1)i,那么原式就可以变化为:

∑ i = 0 ∞ ( i K ) p i = ∑ i = 0 ∞ [ x K ] ( x + 1 ) i p i = [ x K ] ∑ i = 0 ∞ ( x + 1 ) i p i sum_{i=0}^{infty}inom{i}{K}p^i=sum_{i=0}^{infty}[x^K](x+1)^i p^i=[x^K]sum_{i=0}^{infty}(x+1)^i p^i i=0(Ki)pi=i=0[xK](x+1)ipi=[xK]i=0(x+1)ipi

S = ∑ i = 0 ∞ ( x + 1 ) i p i S=sum_{i=0}^{infty}(x+1)^i p^i S=i=0(x+1)ipi t = p ( x + 1 ) t=p(x+1) t=p(x+1),发现是个等比数列的求和,推一下:(直接套求和公式也可以)

S = ∑ i = 0 ∞ ( x + 1 ) i p i = ∑ i = 0 ∞ t i t S = ∑ i = 1 ∞ + 1 t i ( 1 − t ) S = t 0 − t ∞ + 1 = t 0 = 1 S = 1 1 − t = 1 − p x − p + 1 egin{aligned} S&=sum_{i=0}^{infty}(x+1)^i p^i=sum_{i=0}^{infty}t^i\ tS&=sum_{i=1}^{infty+1}t^i\ (1-t)S&=t^0-t^{infty+1}=t^0=1\ S&=frac{1}{1-t}=frac{1}{-px-p+1} end{aligned} StS(1t)SS=i=0(x+1)ipi=i=0ti=i=1+1ti=t0t+1=t0=1=1t1=pxp+11

S i S_i Si 表示 [ x i ] S [x_i]S [xi]S,则有 S i = p 1 − p S i − 1 S_i=dfrac{p}{1-p}S_{i-1} Si=1ppSi1,即 S i = p i ( 1 − p ) i + 1 S_i=dfrac{p^i}{(1-p)^{i+1}} Si=(1p)i+1pi,那我们的答案 S K S_K SK 就可以用快速幂求了。

说一下这个 S i S_i Si 是怎么推的,因为 S = 1 1 − t = 1 − p x − p + 1 S=dfrac{1}{1-t}=dfrac{1}{-px-p+1} S=1t1=pxp+11,所以可以把 1 1 1 看成一个多项式, − p x − p + 1 -px-p+1 pxp+1 看成一个多项式,然后用大除法求 S S S 的每一项系数。

原文地址:https://www.cnblogs.com/ez-lcw/p/14448616.html