博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自然数幂求和方法1:扰动法(求两次)
阅读量:5067 次
发布时间:2019-06-12

本文共 1105 字,大约阅读时间需要 3 分钟。

自然数幂求和方法1:扰动法(求两次)

先来搞一搞等比数列

标号从1开始,\(a_n=a1*q^{n-1}\)
\(S_n=\sum_{k=1}^n a_k\)
\[\begin{aligned}S_n+a_{n+1}&=a_1+\sum_{k=2}^{n+1} a_k \\ S_n+a_n*q&=a_1+q*S_n \\ S_n&=\frac {a_1-a_n*q} {1-q} \end{aligned}\]
大概就是这样用两种不同的方法算同一个东西,来求出公式
\(S_t(n) =\sum\limits_{k=0}^n k^t\)
\[\begin{aligned} S_t(n)+(n+1)^t &=0+ \sum_{k=1}^{n+1} k^t \\ S_t(n)+(n+1)^t &=\sum_{k=0}^{n} (k+1)^t \\ 最后那项二项式展开一下 \\ S_t(n)+(n+1)^t&=\sum_{k=0}^{n} \sum_{i=0}^t \binom t i k^i \\ S_t(n)+(n+1)^t&=\sum_{i=0}^t \binom t i \sum_{k=0}^{n} k^i \\ S_t(n)+(n+1)^t&=\sum_{i=0}^t \binom t i S_i(n) \\ 我们想要的项S_t(n)不见了,没关系,把t+1代替原来的t \\ S_{t+1}(n)+(n+1)^{t+1}&=\sum_{i=0}^{t+1} \binom {t+1} i S_i(n) \\ S_{t+1}(n)+(n+1)^{t+1}&=\sum_{i=0}^{t-1} \binom {t+1} i S_i(n) + (t+1)*S_t(n)+ S_{t+1}(n)\\ S_t(n)&=\frac 1 {t+1} \left((n+1)^{t+1}-\sum_{i=0}^{t-1} \binom {t+1} i S_i(n)\right) \end{aligned}\]

小结

用这个式子求值可以做到\(O(t^2)\)

但求多项式系数不优\(O(t^3)\)
知道自然数幂求和是个t次多项式的话
高斯消元也可以做到\(O(t^3)\)
\(S_t(n)=\sum\limits_{k=0}^{t+1}a_k*n^k\)
我们求出每个\(n=1...t\)求出\(S_t(n)\)并对应把\(n^k\)代入到多项式中
得到\(t\)条多项式来解就可以解出系数\(a\)

转载于:https://www.cnblogs.com/acha/p/6442866.html

你可能感兴趣的文章
SQLite数据库简介
查看>>
利用堆实现堆排序&优先队列
查看>>
Mono源码学习笔记:Console类(四)
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
更改git仓库地址
查看>>
有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
查看>>
Recipe 1.4. Reversing a String by Words or Characters
查看>>
Rule 1: Make Fewer HTTP Requests(Chapter 1 of High performance Web Sites)
查看>>