自然数幂求和方法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

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

  1. (不带头结点的)单链表增删查改,逆置单链表(两种方法),求两个单链表的第一个公共结点,合并两个单链表,单循环链表中判断第一个入环点,约瑟夫环

    补充了每个算法的基本思想,并且画了思路图,源代码都经过调试成功 1.SlistNode.c文件 (1) (不带头结点的)单链表增删查改 #include "SlistNode.h" ...

  2. Python求两个list的交集、并集、差(补)集、对称差集的方法

    Python求两个list的交集.并集.差(补)集.对称差集的方法 摘要 1. 总结 1.1 求两个list的交.并.差(补).对称差集 - 使用set集合运算符 1.2 求两个list的交.并.差( ...

  3. Java求两集合中元素交集的四种方法对比总结

    hello,你好呀,我是灰小猿,一个超会写bug的程序猿! 最近在做项目的时候有用到对两个集合中的元素进行对比求其交集的情况,因为涉及到的数据量比较大,所以在进行求两个集合中元素交集的时候,就应该考虑 ...

  4. 求两个正整数的最小公倍数

    Java语言程序设计(基础篇) 编程综合题 6.29 求最小公倍数 编写程序,提示用户输入两个整数并求它们的最小公倍数(LCM). 两个数的最小公倍数是指这两书的倍数中最小的数. 例如, 8和12的最 ...

  5. 用计算机计算最大公因数,利用计算器求两个较大数的最大公约数的简便方法

    !塑!垒三塑圭 ke.xuejiaoyujia 数学教育研究 利用计算器求两个较大数的最大公约数的简便方法 胡苏琦 (中山一中广东中山528400) 在高一数学必修A3课本中这一章介绍了如何求两 个较 ...

  6. 一种快速的幂运算方法(底数是自然数e,指数是浮点数)

    问题   [给一个浮点数 y y y,现在需要你求出 e y e^y ey 的值是多少].   对于这个问题,最直接的方法是用库函数,例如在C++中<math.h>头文件提供了exp()函 ...

  7. 求两个自然数的最大公约数

    求两个自然数的最大公约数 方法一:用短除法找出这两个自然数的所有公因子,将这些公因子相乘,得到这两个数的最大公约数 function getGDC(m,n){var gdc=1;for(var i=2 ...

  8. 嵌入式 ARM 汇编编程例题(二维数组按规律求和,求两数 gcd / lcm,求数组 min / max,字符串复制,排序)

    文章目录 0x00. 整数加减乘除 0x01. 一维数组按某种规律求和 0x01.1 求 1~100 之和 0x01.2. 求一维数组的和 0x01.2. 求一维数组的所有奇数的和 0x02. 二维数 ...

  9. 辗转相除法是求两个数的最大公约数的方法。

    题目: /*      第五题 辗转相除法是求两个数的最大公约数的方法. */ 代码部分: #include<iostream> using namespace std;int x; in ...

最新文章

  1. UITableViewCell 左侧滑动删除按钮 添加图片 (不完美解决)
  2. 最新BERT相关论文汇总
  3. Vue通过build打包后 打开index.html页面是空白的
  4. 怎么确保一个集合不能被修改?
  5. web后端开发学习路线_学习后端Web开发的最佳方法
  6. 成为iPhone游戏开发者的十大秘技
  7. axure8 事件改变样式_Axure RP 8 Beta更新介绍(三):部件样式
  8. Codeforces Round #409 C. Voltage Keepsake(二分+思维)
  9. 基于相关向量机RVM的分类算法
  10. linux启动mysql命令
  11. java工具类_16 个超级实用的 Java 工具类
  12. 【Java 8 新特性】Java Comparator.nullsLast | 将空元素被认为大于非空元素
  13. python html抓取,并用re正则表达式解析(一)
  14. BZOJ4771七彩树——可持久化线段树+set+树链的并+LCA
  15. 跟想这台计算机usb无法识别,跟这台计算机连接的前一个usb设备工作不正常,windows 无法识别它。 这是怎么回事急!!...
  16. 系统重构数据同步利器之Canal实战篇
  17. 洛谷P2327 [SCOI2005]扫雷【DP】【黄】
  18. Java8 ,LocalDate,LocalDateTime处理日期和时间工具类,
  19. 组态王图素制作_组态王帮助界面的制作
  20. GMTSAR合成孔径雷达干涉测量InSAR数据处理、形变信息提取与分析等实践技术应用

热门文章

  1. SQL2008 一直error40 无法连接到localhost
  2. [转]布隆过滤器详解
  3. 高通平台smd分析及smem共享内存的创建笔记
  4. 使用CXF 2.7.5出现的java.lang.RuntimeException: Cannot create a secure XMLInputFactory错误解决...
  5. ubuntu16.04装MatConvNet
  6. UEditor添加自定义弹窗 插入音频地址
  7. c#将十进制转64进制
  8. 浅析Java的“克隆”方法[zt]
  9. Linux服务器---流量监控bandwidthd
  10. 初始化资源管理器 winform