生成函数浅入

还没学,但是记一下学长说的式子。
给定k,p, 1 ≤ k ≤ 1 0 9 1\leq k\leq10^9 1k109 0 < p < 1 0<p<1 0<p<1,求 ∑ i ≥ 0 ( k i ) p i \sum_{i\geq0}(_{k}^{i})p^i i0(ki)pi
     ∑ i ≥ 0 ( k i ) p i = ∑ i ≥ 0 C i k p i = ∑ i ≥ 0 [ x k ] ( x + 1 ) i p i = [ x k ] ∑ i ≥ 0 ( x + 1 ) i p i \ \ \ \ \sum_{i\geq0}(_{k}^{i})p^i\\=\sum_{i\geq 0}C_{i}^{k}p^i\\=\sum_{i\geq0}[x^k](x+1)^ip^i\\=[x^k]\sum_{i\geq0}(x+1)^ip^i     i0(ki)pi=i0Cikpi=i0[xk](x+1)ipi=[xk]i0(x+1)ipi

S = ∑ i ≥ 0 ( x + 1 ) i p i S=\sum_{i\geq0}(x+1)^ip^i S=i0(x+1)ipi
t = ( x + 1 ) p t=(x+1)p t=(x+1)p
根据等比数列求和公式有
S = ∑ i ≥ 0 t i = 1 − t ∞ 1 − t = 1 1 − t = 1 − p x − p + 1 S=\sum_{i\geq0}t^i=\dfrac{1-t^{\infty}}{1-t}=\dfrac{1}{1-t}=\dfrac{1}{-px-p+1} S=i0ti=1t1t=1t1=pxp+11
− p x + ( 1 − p ) -px+(1-p) px+(1p)作为除数,1作为被除数,1为最高项进行多项式除法。
接着你会发现从右到左依次是 1 1 − p , p ( 1 − p ) 2 , p 2 ( 1 − p ) 3 . . . \dfrac{1}{1-p},\dfrac{p}{(1-p)^2},\dfrac{p^2}{(1-p)^3}... 1p1(1p)2p(1p)3p2...
其实这就是S的第0、1、2…项。
S i = [ x i ] S S_i=[x^i]S Si=[xi]S,那么 S 0 = 1 1 − p S_0=\dfrac{1}{1-p} S0=1p1
S i = p 1 − p S i − 1 ( i ≥ 1 ) S_i=\dfrac{p}{1-p}S_{i-1}(i\geq1) Si=1ppSi1(i1)
那么有通项 S i = ( p 1 − p ) i S 0 S_i=(\dfrac{p}{1-p})^iS_0 Si=(1pp)iS0
那么原式 = [ x k ] ∑ i ≥ 0 ( x + 1 ) i p i = S k = ( p 1 − p ) k S 0 =[x^k]\sum_{i\geq0}(x+1)^ip^i=S_k=(\dfrac{p}{1-p})^kS_0 =[xk]i0(x+1)ipi=Sk=(1pp)kS0
这个直接快速幂求就可以了。

注意到分母为1-p,这也是为什么规定0<p<1的原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值