载谭 Binomial Sum:多项式复合、插值与泰勒展开

对于微分有限(D-Finite) 的生成函数 F ( x ) F(x) F(x),又设一生成函数 G ( x ) G(x) G(x),有数列 a a a,我们已经对每个 0 ≤ k ≤ n 0\leq k\leq n 0kn 知晓了

∑ j = 0 n a j [ x j ] G ( x ) k \sum_{j=0}^n a_j [x^j] G(x)^k j=0naj[xj]G(x)k

那么我们可以在 Θ ( n ) \Theta(n) Θ(n) 时间内计算

∑ j = 0 n a j [ x j ] F ( G ( x ) ) \sum_{j=0}^n a_j[x^j]F(G(x)) j=0naj[xj]F(G(x))

c = G ( 0 ) c=G(0) c=G(0),考虑 F F F c c c 处的泰勒展开式、带入 G ( x ) G(x) G(x)

F ( G ( x ) ) = ∑ k ≥ 0 F ( k ) ( c ) ( G ( x ) − c ) k k ! F(G(x)) = \sum_{k\ge 0} F^{(k)}(c) \frac{(G(x)-c)^k}{k!} F(G(x))=k0F(k)(c)k!(G(x)c)k

由于 x ∣ G ( x ) − c x\mid G(x)-c xG(x)c,可知对于我们关心的 ∑ j = 0 n a j [ x j ] F ( G ( x ) ) \sum_{j=0}^n a_j[x^j]F(G(x)) j=0naj[xj]F(G(x)) 之计算而言,只展开到 n n n 次项足够了。

F ( x ) F(x) F(x) 满足的微分方程为 ∑ j = 0 m p j ( x ) F ( j ) ( x ) = 0 \sum_{j=0}^m p_j(x)F^{(j)}(x)=0 j=0mpj(x)F(j)(x)=0,可知

∑ j = 0 m p j ( x + c ) F ( j ) ( x + c ) = 0 \sum_{j=0}^m p_j(x+c) F^{(j)}(x+c)=0 j=0mpj(x+c)F(j)(x+c)=0

我们考虑对 F ( x + c ) F(x+c) F(x+c) 进行截取,设 F ( x + c ) = F ( x + c )   m o d   x n + 1 \mathscr F(x + c) = F(x+ c) \bmod x^{n+1} F(x+c)=F(x+c)modxn+1,考察原微分方程的影响

∑ j = 0 m p j ( x + c ) F ( j ) ( x + c ) \sum_{j=0}^m p_j(x+c) \mathscr F^{(j)} (x+c) j=0mpj(x+c)F(j)(x+c)

对于仅涉及 ≤ n \leq n n 的项来说,方程依旧成立。而对于仅涉及 > n > n >n 的项来说也成立,因此我们知道在这个区间内,有一个扰动因子 ∑ j = 0 m p j ( x + c ) F ( j ) ( x + c ) = D ( x ) \sum_{j=0}^m p_j(x+c) \mathscr F^{(j)} (x+c) = \mathscr D(x) j=0mpj(x+c)F(j)(x+c)=D(x)。因此有

∑ j = 0 m p j ( x ) F ( j ) ( x ) = D ( x − c ) \sum_{j=0}^m p_j(x) \mathscr F^{(j)}(x) = \mathscr D(x-c) j=0mpj(x)F(j)(x)=D(xc)

依此进行递推。由于此时 F \mathscr F F 只有不超过 n n n 次项,可以直接依据已有的信息得到答案。


目前能见到的问题多为 G ( x ) = e x G(x)=\mathrm{e}^x G(x)=ex 的情况。这是线性插值的基本推广。

根据这一直接推论,我们统一了以下问题的 Θ ( n ) \Theta(n) Θ(n) 结果。

  1. 线性插值: G ( x ) k G(x)^k G(x)k
  2. 前缀和: 1 − G k + 1 1 − G \frac{1-G^{k+1}}{1-G} 1G1Gk+1
  3. “Binomial Sum”: ( 1 + G ) k (1+G)^k (1+G)k
  4. ∑ x ≥ 0 x n q x \sum_{x\ge 0} x^n q^x x0xnqx 1 1 − q G \frac 1{1-qG} 1qG1
  5. Bell 数: e G − 1 \mathrm e^{G-1} eG1
  6. Bernoulli 数: ln ⁡ ( 1 + ( G − 1 ) ) G − 1 \frac{\ln (1+(G-1))}{G-1} G1ln(1+(G1))
  7. 如何优雅地求和”: ( a G + ( 1 − a ) ) k (aG+(1-a))^k (aG+(1a))k
  8. TJOI 求和”: 1 3 − 2 G \frac 1{3-2G} 32G1,这也是我当年第一次做出了一点有意思的结果,现在我们将它收尾。
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值