1^b+2^b+3^b+...+n^b数列
首先,这是我自己推出来的,O(n^2),常数巨大。所以无能为力优化!所以求此数列的公式!求优化!!!
主要思想:要算b次的,那么就要先算b+1次的。
首先,我用F(i, j)表示杨辉三角第i层第j个,即(a+b)^(i-1),i>1的展开各项系数
第1层:1
第2层:1 1 ((a+b)^1)
第3层:1 2 1 ((a+b)^2)
第4层:1 3 3 1 ((a+b)^3)
....
upd:原来自己2写的都是什么东西,后期想改成latex也不改了,就这样了。现在我来推:
用高一次的推低次的:
$$要求:\sum_{i=1}^{n} i^b$$
$$那么根据:\sum_{i=1}^{n} i^{b+1} + (n+1)^{b+1} = \sum_{i=1}^{n+1} i^{b+1} = \sum_{i=0}^{n} (i+1)^{b+1}$$
然后展开右式后发现能高此项的能约掉,所以就能得到低次项的。
那么,(n+1)^b展开就是
$$F(b+1,1) \times n^b + F(b+1,2) \times n^(b-1) + ... + F(b+1,b) \times n^1 + F(b+1,b+1) \times n^0$$
那么
$$(1+1)^b + (2+1)^b + (3+1)^b + ... + (n+1)^b =$$
$$(F(b+1,1) \times 1^b + F(b+1,1) \times 2^b + F(b+1,1) \times 3^b + ... + F(b+1,1) \times n^b) +$$
$$(F(b+1,2) \times 1^(b-1) + F(b+1,2) \times 2^(b-1) + F(b+1,2) \times 3^(b-1) + ... + F(b+1,2) \times n^(b-1) ) +$$
...
$$(F(b+1,b) \times 1^1 + F(b+1,b) \times 2^1 + F(b+1,b) \times 3^1 + ... + F(b+1,b) \times n^1) +$$
$$(F(b+1,b+1) \times 1^0 + F(b+1,b+1) \times 2^0 + F(b+1,b+1) \times 3^0 + ... + F(b+1,b+1) \times n^0) = $$
$$F(b+1,1) \times (1^b+2^b+...+n^b) + F(b+1,2) \times (1^(b-1)+2^(b-1)+...+n^(b-1)) + ... + F(b+1,b) \times (1^1+2^1+...+n^1) + F(b+1,b+1) \times (1^0+2^0+...+n^0) $$
因为F(b+1,1)=F(b+1,b+1)=1
所以 化简得到
$$(1+1)^b + (2+1)^b + (3+1)^b + ... + (n+1)^b =
(1^b+2^b+...+n^b) + F(b+1,2) \times (1^(b-1)+2^(b-1)+...+n^(b-1)) + ... + F(b+1,b) \times (1^1+2^1+...+n^1) + n$$
好了,我们发现了1^(b-1)+2^(b-1)+...+n^(b-1)出现了,那么就可以算了。将(1^b+2^b+...+n^b) 移左式,得
(n+1)^b - 1 - n = F(b+1,2) \times (1^(b-1)+2^(b-1)+...+n^(b-1)) + ... + F(b+1,b) \times (1^1+2^1+...+n^1)
好了,继续化简,得
1^(b-1)+2^(b-1)+...+n^(b-1) = ((n+1)^b - (n+1) - F(b+1,3) \times (1^(b-2)+2^(b-2)+...+n^(b-2)) - ... - F(b+1,b) \times (1+2+...+n)) / F(b+1,2)
因为F(b+1,2) = b,所以,最终得
1^(b-1)+2^(b-1)+...+n^(b-1) = ((n+1)^b - (n+1) - F(b+1,3) \times (1^(b-2)+2^(b-2)+...+n^(b-2)) - ... - F(b+1,b) \times (1+2+...+n)) / b
我们令 x = b-1,那么b = x+1,得
1^x+2^x+...+n^x = ((n+1)^(x+1) - (n+1) - F(x+2,3) \times (1^(x-1)+2^(x-1)+...+n^(x-1)) - ... - F(x+2,x+1) \times (1+2+...+n)) / (x+1)
好了,我们现在用S(x)表示1^x+2^x+...+n^x
得到公式:
S(1) = 1^1+2^1+...+n^1 = n(n+1) / 2
S(x) = ((n+1)^(x+1) - (n+1) - F(x+2,3) \times S(x-1) - F(x+2,4) \times S(x-2) - ... - F(x+2,x+1) \times S(1)) / (x+1)
(不证明了,自己用归纳证一下)
(另,求优化!有没有O(1)算法,那个(n+1)^(x+1)会耗很多时间= =)
好了。我们将x=2带进去得到1^2+2^2+...+n^2
得到
S(2) = ((n+1)^3- (n+1) - F(4,3) \times S(1)) / 3 = ((n+1)^3- (n+1) - 3 \times (n(n+1) / 2)) / 3 = (n^3 + 3 \times n^2 + 2 \times n - 3 \times n(n+1)/2) / 3 = n \times (2 \times n^2+3n+1) / 6 =n \times (n+1) \times (2 \times n+1) / 6
所以
S(2) = n \times (n+1) \times (2 \times n+1) / 6
即 1^2+2^2+...+n^2 = n \times (n+1) \times (2 \times n+1) / 6
(求大神们指点)
1^b+2^b+3^b+...+n^b数列的更多相关文章
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- NYOJ 1007
在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ...
- 【探索】无形验证码 —— PoW 算力验证
先来思考一个问题:如何写一个能消耗对方时间的程序? 消耗时间还不简单,休眠一下就可以了: Sleep(1000) 这确实消耗了时间,但并没有消耗 CPU.如果对方开了变速齿轮,这瞬间就能完成. 不过要 ...
- Python高手之路【三】python基础之函数
基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...
- C语言 · 查找整数 · 基础练习
问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个. 输入格式 第一行包含一个整数n. 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000. 第三行包含一个 ...
- JavaScript实现常用的排序算法
▓▓▓▓▓▓ 大致介绍 由于最近要考试复习,所以学习js的时间少了 -_-||,考试完还会继续的努力学习,这次用原生的JavaScript实现以前学习的常用的排序算法,有冒泡排序.快速排序.直接插入排 ...
- 【Web动画】SVG 线条动画入门
通常我们说的 Web 动画,包含了三大类. CSS3 动画 javascript 动画(canvas) html 动画(SVG) 个人认为 3 种动画各有优劣,实际应用中根据掌握情况作出取舍,本文讨论 ...
- Node.js:进程、子进程与cluster多核处理模块
1.process对象 process对象就是处理与进程相关信息的全局对象,不需要require引用,且是EventEmitter的实例. 获取进程信息 process对象提供了很多的API来获取当前 ...
- [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序
用菜鸟的思维学习算法 -- 马桶排序.冒泡排序和快速排序 [博主]反骨仔 [来源]http://www.cnblogs.com/liqingwen/p/4994261.html 目录 马桶排序(令人 ...
- 算法与数据结构(十七) 基数排序(Swift 3.0版)
前面几篇博客我们已经陆陆续续的为大家介绍了7种排序方式,今天博客的主题依然与排序算法相关.今天这篇博客就来聊聊基数排序,基数排序算法是不稳定的排序算法,在排序数字较小的情况下,基数排序算法的效率还是比 ...
随机推荐
- call_user_func_array使用原型
If you need to call object and class methods in PHP < 4.0.4, the following code ought to do the t ...
- 【SpringMVC】SpringMVC系列6之@CookieValue 映射请求Cookie 值
6.@CookieValue 映射请求Cookie 值 6.1.示例 @CookieValue 可让处理方法入参绑定某个 Cookie 值,示例如下:
- xenomai安装
一.Linux内核打实时补丁 1.将下载的Linux和xenomai安装包放在/usr/src目录下,并解压文件包,命令如下 tar xjf Linux-3.8.13.tar.bz2 tar x ...
- spring mvc 406 (Not Acceptable) json转换错误
spring mvc通过@RequestMapping("/register")和@ResponseBody返回json格式的字符串时出现如下异常: The resource id ...
- sqlserver的执行计划
一:执行计划生成过程 说到执行计划,首先要知道的是执行计划大概生成的过程,这样就可以做到就心中有数了,下面我画下简图: 1. 分析过程 这三个比较容易理解,首先我们要保证sql的语法不能错误,sele ...
- Java for LeetCode 066 Plus One
Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...
- SpringJDBC的简单应用
此处写上应用JdbcTemplate的dao操作数据库的一些代码(含基本的增删改查,注:重点是查询出多条语句的写法): package org.sakaiproject.zhaorui.dao.imp ...
- NEFU 1146 又见A+B
又见a+b Problem:1146 Time Limit:1000ms Memory Limit:65535K Description 给定两个非负整数A,B,求他们的和. Input 多组输入,每 ...
- August 5th, 2016, Week 32nd, Friday
Life is made up of small pleasures. 生活由各种细小的幸福构成. Don't expect too much. I am not qualified to get m ...
- HTML标签自定义属性(转)
HTML标签可以自定义属性 HTML标签可以自定义属性,但是我们要考虑其在IE.Firefox以及chrome下的兼容性问题.例如: <div id="newTest" my ...