系数为多项式的幂级数求和


∑ n = 0 ∞ f ( n ) r n \sum_{n=0}^{ \infty }f(n)r^{n} n=0f(n)rn
其中   r ∈ ( 0 , 1 ) \ r \in (0,1)  r(0,1)   f ( n ) \ f(n)  f(n)是一个最高次为   k \ k  k的多项式。

我们先求最简单的形式:

s = ∑ n = 0 ∞ r n s=\sum_{n=0}^{ \infty }r^{n} s=n=0rn

s = 1 + r + r 2 + r 3 + ⋯ s=1+r+r^{2}+r^{3}+\cdots s=1+r+r2+r3+

r ⋅ s = r + r 2 + r 3 + ⋯ r \cdot s=r+r^{2}+r^{3}+\cdots rs=r+r2+r3+

两式相减得

( 1 − r ) ⋅ s = 1 (1-r) \cdot s=1 (1r)s=1

s = 1 1 − r s= \frac{1}{1-r} s=1r1

在考虑其他简单形式

s = ∑ n = 0 ∞ n ⋅ r n s=\sum_{n=0}^{ \infty }n \cdot r^{n} s=n=0nrn

s = r + 2 r 2 + 3 r 3 + 4 r 4 + ⋯ s=r+2r^{2}+3r^{3}+4r^{4}+ \cdots s=r+2r2+3r3+4r4+

r ⋅ s = r 2 + 2 r 3 + 3 r 4 + 4 r 5 + ⋯ r \cdot s=r^{2}+2r^{3}+3r^{4}+4r^{5}+ \cdots rs=r2+2r3+3r4+4r5+

相减得

( 1 − r ) ⋅ s = r + r 2 + r 3 + r 4 + ⋯ (1-r) \cdot s=r+r^{2}+r^{3}+r^{4}+ \cdots (1r)s=r+r2+r3+r4+

这样和第一种情况一样,答案为

s = r ( 1 − r ) 2 s=\frac{r}{(1-r)^{2}} s=(1r)2r

这使我们意识到,一个高次多项式的问题可以转换为低次多项式的问题。
为简化算法,我们需要多项式转化为一坨相邻数字连乘。
由于公式(提醒一句,   k \ k  k是最高次)

f ( n ) = a 0 ( n 1 ) + a 1 ( n 2 ) + ⋯ + a k ( n k )           ( 证 明 ( 1 ) ) f(n) =a_{0}\binom{n}{1}+a_{1}\binom{n}{2}+ \cdots +a_{k}\binom{n}{k}\,\,\,\,\,\,\,\,\,(证明(1)) f(n)=a0(1n)+a1(2n)++ak(kn)(1)

所以我们就一个组合数考虑

s = ∑ n = 0 ∞ ( n m ) r n s=\sum_{n=0}^{ \infty }\binom{n}{m}r^{n} s=n=0(mn)rn

( n m ) = n ( n − 1 ) ( n − 2 ) ⋯ ( n − m + 1 ) m ! \binom{n}{m}=\frac{n(n-1)(n-2) \cdots (n-m+1)}{m!} (mn)=m!n(n1)(n2)(nm+1)

提出   m ! \ m!  m!

s = 1 m ! ∑ n = 0 ∞ n ( n − 1 ) ( n − 2 ) ⋯ ( n − m + 1 ) r n s= \frac{1}{m!} \sum_{n=0}^{ \infty }n(n-1)(n-2) \cdots (n-m+1)r^{n} s=m!1n=0n(n1)(n2)(nm+1)rn

设 s 0 = m ! ⋅ s 设 s0=m! \cdot s s0=m!s

n &lt; m 时 , ( n m ) = 0 n&lt;m时,\binom{n}{m}=0 n<m(mn)=0

s 0 = 1 × 2 × ⋯ m ⋅ r m + 2 × 3 × ⋯ ( m + 1 ) ⋅ r m + 1 + 3 × 4 × ⋯ ( m + 2 ) r m + 2 + ⋯ s0=1 \times 2 \times \cdots m \cdot r^{m}+2 \times 3 \times \cdots (m+1) \cdot r^{m+1}+3 \times 4 \times \cdots (m+2)r^{m+2}+ \cdots s0=1×2×mrm+2×3×(m+1)rm+1+3×4×(m+2)rm+2+

r ⋅ s 0 = 1 × 2 × ⋯ m ⋅ r m + 1 + 2 × 3 × ⋯ ( m + 1 ) ⋅ r m + 2 + 3 × 4 × ⋯ ( m + 2 ) r m + 3 + ⋯ r \cdot s0 =1 \times 2 \times \cdots m \cdot r^{m+1}+2 \times 3 \times \cdots (m+1) \cdot r^{m+2}+3 \times 4 \times \cdots (m+2)r^{m+3}+ \cdots rs0=1×2×mrm+1+2×3×(m+1)rm+2+3×4×(m+2)rm+3+

相减得

( 1 − r ) s 0 = 1 × 2 × ⋯ m ⋅ r m + 2 × 3 × ⋯ m ⋅ m ⋅ r m + 1 + 3 × 4 × ⋯ ( m + 1 ) ⋅ m ⋅ r m + 2 + ⋯ (1-r)s0=1 \times 2 \times \cdots m \cdot r^{m}+2 \times 3 \times \cdots m \cdot m \cdot r^{m+1}+3 \times 4 \times \cdots (m+1) \cdot m \cdot r^{m+2}+ \cdots (1r)s0=1×2×mrm+2×3×mmrm+1+3×4×(m+1)mrm+2+

可以看到我们将除了   r m \ r^{m}  rm以外的系数多了m。我们继续用这样方法

设 s 1 = ( 1 − r ) s 0 设s1=(1-r)s0 s1=(1r)s0

s 1 = 1 × 2 × ⋯ m ⋅ r m + 2 × 3 × ⋯ m ⋅ m ⋅ r m + 1 + 3 × 4 × ⋯ ( m + 1 ) ⋅ m ⋅ r m + 2 + ⋯ s1=1 \times 2 \times \cdots m \cdot r^{m}+2 \times 3 \times \cdots m \cdot m \cdot r^{m+1}+3 \times 4 \times \cdots (m+1) \cdot m \cdot r^{m+2}+ \cdots s1=1×2×mrm+2×3×mmrm+1+3×4×(m+1)mrm+2+

r ⋅ s 1 = 1 × 2 × ⋯ m ⋅ r m + 1 + 2 × 3 × ⋯ m ⋅ m ⋅ r m + 2 + 3 × 4 × ⋯ ( m + 1 ) ⋅ m ⋅ r m + 3 + ⋯ r \cdot s1=1 \times 2 \times \cdots m \cdot r^{m+1}+2 \times 3 \times \cdots m \cdot m \cdot r^{m+2}+3 \times 4 \times \cdots (m+1) \cdot m \cdot r^{m+3}+ \cdots rs1=1×2×mrm+1+2×3×mmrm+2+3×4×(m+1)mrm+3+

两式相减得

( 1 − r ) s 1 = 1 × 2 × ⋯ m ⋅ r m + 2 × 3 × ⋯ m ( m − 1 ) r m + 1 + 3 × 4 × ⋯ m ⋅ m ( m − 1 ) r m + 2 + ⋯ (1-r)s1=1 \times 2 \times \cdots m \cdot r^{m}+2 \times 3 \times \cdots m(m-1)r^{m+1}+3 \times 4 \times \cdots m \cdot m(m-1) r^{m+2} +\cdots (1r)s1=1×2×mrm+2×3×m(m1)rm+1+3×4×mm(m1)rm+2+

设 s 2 = ( 1 − r ) s 1 设s2=(1-r)s1 s2=(1r)s1

s 2 = 1 × 2 × ⋯ m ⋅ r m + 2 × 3 × ⋯ m ( m − 1 ) r m + 1 + 3 × 4 × ⋯ m ⋅ m ( m − 1 ) r m + 2 + ⋯ s2=1 \times 2 \times \cdots m \cdot r^{m}+2 \times 3 \times \cdots m(m-1)r^{m+1}+3 \times 4 \times \cdots m \cdot m(m-1) r^{m+2} +\cdots s2=1×2×mrm+2×3×m(m1)rm+1+3×4×mm(m1)rm+2+

r ⋅ s 2 = 1 × 2 × ⋯ m ⋅ r m + 1 + 2 × 3 × ⋯ m ( m − 1 ) r m + 2 + 3 × 4 × ⋯ m ⋅ m ( m − 1 ) r m + 3 + ⋯ r \cdot s2=1 \times 2 \times \cdots m \cdot r^{m+1}+2 \times 3 \times \cdots m(m-1)r^{m+2}+3 \times 4 \times \cdots m \cdot m(m-1) r^{m+3} +\cdots rs2=1×2×mrm+1+2×3×m(m1)rm+2+3×4×mm(m1)rm+3+

两式相减得

( 1 − r ) s 2 = 1 × 2 × × ⋯ m ⋅ r m + 2 × 3 × ⋯ m ( m − 2 ) r m + 1 + 3 × 4 × ⋯ m ( m − 1 ) ( m − 2 ) r m + 2 + ⋯ (1-r)s2=1 \times 2 \times \times \cdots m \cdot r^{m}+2 \times 3 \times \cdots m(m-2)r^{m+1}+3 \times 4 \times \cdots m(m-1)(m-2)r^{m+2}+ \cdots (1r)s2=1×2××mrm+2×3×m(m2)rm+1+3×4×m(m1)(m2)rm+2+

以此类推,最后得出(提醒一句,   k \ k  k是最高次)

s 0 = m ! r m ( 1 − r ) m + 1 s0=m! \frac{r^{m}}{(1-r)^{m+1}} s0=m!(1r)m+1rm

s = s 0 m ! = r m ( 1 − r ) m + 1 s=\frac{s0}{m!}=\frac{r^{m}}{(1-r)^{m+1}} s=m!s0=(1r)m+1rm

这样我们就得到了一个通项公式
现在我们求的就是   a 0 , a 1 , a 2 ⋯ a k \ a_{0},a_{1},a_{2} \cdots a_{k}  a0,a1,a2ak
由于

f ( n ) = a 0 ( n 0 ) + a 1 ( n 1 ) + ⋯ + a k ( n k ) f(n)=a_{0}\binom{n}{0}+a_{1}\binom{n}{1}+ \cdots +a_{k}\binom{n}{k} f(n)=a0(0n)+a1(1n)++ak(kn)

我们可以证明出

∑ n = 0 ∞ f ( n ) r n = ∑ n = 0 k a n r n ( 1 − r ) n + 1 \sum_{n=0}^{ \infty }f(n)r^{n}=\sum_{n=0}^{k}a_{n} \frac{r^{n}}{(1-r)^{n+1}} n=0f(n)rn=n=0kan(1r)n+1rn

求得   a 0 , a 1 , ⋯ a k \ a_{0},a_{1}, \cdots a_{k}  a0,a1,ak即可求得正解(提醒一句,   k \ k  k是最高次)
又由于

f ( 0 ) = a 0 ( 0 0 ) f(0)=a_{0}\binom{0}{0} f(0)=a0(00)

f ( 1 ) = a 0 ( 1 0 ) + a 1 ( 1 1 ) f(1)=a_{0}\binom{1}{0}+a_{1}\binom{1}{1} f(1)=a0(01)+a1(11)

f ( 2 ) = a 0 ( 2 0 ) + a 1 ( 2 1 ) + a 2 ( 2 2 ) f(2)=a_{0}\binom{2}{0}+a_{1}\binom{2}{1}+a_{2}\binom{2}{2} f(2)=a0(02)+a1(12)+a2(22)

⋯ &ThinSpace; ⋯ &ThinSpace; ⋯ &ThinSpace; ⋯ \cdots \, \cdots \, \cdots \, \cdots

f ( k ) = a 0 ( k 0 ) + a 1 ( k 1 ) + ⋯ + a k ( k k ) f(k)=a_{0}\binom{k}{0}+a_{1}\binom{k}{1}+ \cdots +a_{k}\binom{k}{k} f(k)=a0(0k)+a1(1k)++ak(kk)

这样就变成了一个多元方程组的问题,整理得

a 0 = ( 0 0 ) f 0 a_{0}=\binom{0}{0} f{0} a0=(00)f0

a 1 = − ( 1 0 ) f ( 0 ) + ( 1 1 ) f ( 1 ) a_{1}=-\binom{1}{0} f(0)+\binom{1}{1} f(1) a1=(01)f(0)+(11)f(1)

a 2 = ( 2 0 ) f ( 0 ) − ( 2 1 ) f ( 1 ) + ( 2 2 ) f ( 2 ) a_{2}=\binom{2}{0} f(0)-\binom{2}{1} f(1)+\binom{2}{2} f(2) a2=(02)f(0)(12)f(1)+(22)f(2)

⋯ &ThinSpace; ⋯ &ThinSpace; ⋯ &ThinSpace; ⋯ \cdots \, \cdots \, \cdots \, \cdots

a k = ( − 1 ) k ( k 0 ) f ( 0 ) + ( − 1 ) k − 1 ( k 1 ) f ( 1 ) + ⋯ ( − 1 ) 0 ( k k ) f ( k ) a_{k}=(-1)^{k}\binom{k}{0} f(0)+(-1)^{k-1}\binom{k}{1} f(1)+ \cdots (-1)^{0} \binom{k}{k} f(k) ak=(1)k(0k)f(0)+(1)k1(1k)f(1)+(1)0(kk)f(k)

对于计算机而言,这些问题都是可以在 O(n*n) 之内求得。优化后,可以使用多项式多点求值NTT求得 。O(n logn logn)

证明(1)

f ( n ) = a 0 ( n 0 ) + a 1 ( n 1 ) + ⋯ + a k ( n k ) f(n)=a_{0}\binom{n}{0}+a_{1}\binom{n}{1}+ \cdots +a_{k}\binom{n}{k} f(n)=a0(0n)+a1(1n)++ak(kn)

有于每个组合数展开后形成一个多项式,最高次递增,其各项系数可以满足多元方程组。

由 于 ( n m ) 是 一 个 关 于 n 的 m 次 多 项 式 由于\binom{n}{m}是一个关于n的m次多项式 (mn)nm

( n m ) = b m , 0 + b m , 1 n + b m , 2 n 2 + ⋯ b m , m n m \binom{n}{m}=b_{m,0}+b_{m,1}n+b_{m,2}n^{2}+ \cdots b_{m,m}n^{m} (mn)=bm,0+bm,1n+bm,2n2+bm,mnm

我们得到方程组

( n 0 ) = b 0 , 0 \binom{n}{0}=b_{0,0} (0n)=b0,0

( n 1 ) = b 1 , 0 + b 1 , 1 n \binom{n}{1}=b_{1,0}+b_{1,1}n (1n)=b1,0+b1,1n

( n 2 ) = b 2 , 0 + b 2 , 1 n + b 2 , 2 n 2 \binom{n}{2}=b_{2,0}+b_{2,1}n+b_{2,2}n^{2} (2n)=b2,0+b2,1n+b2,2n2

⋯ &ThinSpace; ⋯ &ThinSpace; ⋯ &ThinSpace; ⋯ \cdots \, \cdots \, \cdots \, \cdots

易证   b i j = ≠ 0 &ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace;&ThinSpace; i ∈ [ 0 , m ] , j ∈ [ 0 , m ] \ b_{ij} = \neq 0 \,\,\,\,\,\,\,\,\,\,\,\, i \in [0,m],j \in [0,m]  bij≠=0i[0,m],j[0,m]

设原方程

f ( n ) = c 0 + c 1 n 1 + c 2 n 2 + ⋯ c k n k f(n)=c_{0}+c_{1}n^{1}+c_{2}n^{2}+ \cdots c_{k}n^{k} f(n)=c0+c1n1+c2n2+cknk

有方程组

a 0 b 0 , 0 + a 1 b 1 , 0 + a 2 b 2 , 0 + ⋯ + a k b k , 0 ⎵ k + 1 项 = c 0 \underbrace{ a_{0}b_{0,0}+a_{1}b_{1,0}+a_{2}b_{2,0}+ \cdots +a_{k}b_{k,0} }_{k+1项}=c_{0} k+1 a0b0,0+a1b1,0+a2b2,0++akbk,0=c0

a 1 b 0 , 1 + a 2 b 1 , 1 + a 3 b 2 , 1 + ⋯ + a k b k , 1 ⎵ k 项 = c 1 \underbrace{ a_{1}b_{0,1}+a_{2}b_{1,1}+a_{3}b_{2,1}+ \cdots +a_{k}b_{k,1} }_{k项}=c_{1} k a1b0,1+a2b1,1+a3b2,1++akbk,1=c1

a 2 b 0 , 2 + a 3 b 1 , 2 + a 4 b 2 , 2 + ⋯ + a k b k , 2 ⎵ k − 1 项 = c 2 \underbrace{ a_{2}b_{0,2}+a_{3}b_{1,2}+a_{4}b_{2,2}+ \cdots +a_{k}b_{k,2} }_{k-1项}=c_{2} k1 a2b0,2+a3b1,2+a4b2,2++akbk,2=c2

⋯ &ThinSpace; ⋯ &ThinSpace; ⋯ &ThinSpace; ⋯ \cdots \, \cdots \, \cdots \, \cdots

a k b k , k = = c k a_{k}b_{k,k}==c_{k} akbk,k==ck

由于项数不断减少,此方程显然有解

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值