首先,这是我自己推出来的,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数列的更多相关文章

  1. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  2. NYOJ 1007

    在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ...

  3. 【探索】无形验证码 —— PoW 算力验证

    先来思考一个问题:如何写一个能消耗对方时间的程序? 消耗时间还不简单,休眠一下就可以了: Sleep(1000) 这确实消耗了时间,但并没有消耗 CPU.如果对方开了变速齿轮,这瞬间就能完成. 不过要 ...

  4. Python高手之路【三】python基础之函数

    基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...

  5. C语言 · 查找整数 · 基础练习

    问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个. 输入格式 第一行包含一个整数n. 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000. 第三行包含一个 ...

  6. JavaScript实现常用的排序算法

    ▓▓▓▓▓▓ 大致介绍 由于最近要考试复习,所以学习js的时间少了 -_-||,考试完还会继续的努力学习,这次用原生的JavaScript实现以前学习的常用的排序算法,有冒泡排序.快速排序.直接插入排 ...

  7. 【Web动画】SVG 线条动画入门

    通常我们说的 Web 动画,包含了三大类. CSS3 动画 javascript 动画(canvas) html 动画(SVG) 个人认为 3 种动画各有优劣,实际应用中根据掌握情况作出取舍,本文讨论 ...

  8. Node.js:进程、子进程与cluster多核处理模块

    1.process对象 process对象就是处理与进程相关信息的全局对象,不需要require引用,且是EventEmitter的实例. 获取进程信息 process对象提供了很多的API来获取当前 ...

  9. [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序

    用菜鸟的思维学习算法 -- 马桶排序.冒泡排序和快速排序 [博主]反骨仔 [来源]http://www.cnblogs.com/liqingwen/p/4994261.html  目录 马桶排序(令人 ...

  10. 算法与数据结构(十七) 基数排序(Swift 3.0版)

    前面几篇博客我们已经陆陆续续的为大家介绍了7种排序方式,今天博客的主题依然与排序算法相关.今天这篇博客就来聊聊基数排序,基数排序算法是不稳定的排序算法,在排序数字较小的情况下,基数排序算法的效率还是比 ...

随机推荐

  1. 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 ...

  2. 【SpringMVC】SpringMVC系列6之@CookieValue 映射请求Cookie 值

      6.@CookieValue 映射请求Cookie 值 6.1.示例 @CookieValue 可让处理方法入参绑定某个 Cookie 值,示例如下:     

  3. xenomai安装

    一.Linux内核打实时补丁 1.将下载的Linux和xenomai安装包放在/usr/src目录下,并解压文件包,命令如下 tar xjf  Linux-3.8.13.tar.bz2   tar x ...

  4. spring mvc 406 (Not Acceptable) json转换错误

    spring mvc通过@RequestMapping("/register")和@ResponseBody返回json格式的字符串时出现如下异常: The resource id ...

  5. sqlserver的执行计划

    一:执行计划生成过程 说到执行计划,首先要知道的是执行计划大概生成的过程,这样就可以做到就心中有数了,下面我画下简图: 1. 分析过程 这三个比较容易理解,首先我们要保证sql的语法不能错误,sele ...

  6. 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 ...

  7. SpringJDBC的简单应用

    此处写上应用JdbcTemplate的dao操作数据库的一些代码(含基本的增删改查,注:重点是查询出多条语句的写法): package org.sakaiproject.zhaorui.dao.imp ...

  8. NEFU 1146 又见A+B

    又见a+b Problem:1146 Time Limit:1000ms Memory Limit:65535K Description 给定两个非负整数A,B,求他们的和. Input 多组输入,每 ...

  9. 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 ...

  10. HTML标签自定义属性(转)

    HTML标签可以自定义属性 HTML标签可以自定义属性,但是我们要考虑其在IE.Firefox以及chrome下的兼容性问题.例如: <div id="newTest" my ...