1.每次可以走1步,或两步,求走n级台阶的方案个数 分析,其实就是斐波那契数列,无论怎么走,最后一步要么走1级,要么走2级,所以n级方案等于n-1级和n-2级方案之和 对于上述方案,当n很大时用时会非常长。因为中间存在大量重复的计算结果,例如当n=45时: walkStairs(45) = walk ...
分类:
其他好文 时间:
2017-05-10 00:18:27
阅读次数:
170
一.矩阵乘法 设矩阵A,B 满足 :A的列数==B的行数 矩阵乘法的运算规则: 将A矩阵的每一行乘以B矩阵的每一列 * == == 二.斐波那契数列的矩阵推导 首先我们想 Fib[i]=Fib[i-1]+Fib[i-2]; 所以斐波那契数列的第i项之与两个数也就是Fib[i-1]+Fib[i-2]有 ...
分类:
其他好文 时间:
2017-05-06 17:57:59
阅读次数:
1031
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4893 题意:给你一个长度n的数列,初始都为0。有三种操作,第一种给第k个位置的数加d。另外一种是查询区间 [l , r] 的总和。第三种是使区间 [l , r] 的值改为离它近期的那个斐波那契数的值。 我刚 ...
分类:
其他好文 时间:
2017-05-01 11:06:00
阅读次数:
141
题目链接: http://poj.org/problem?id=3070 题目大意:给定n和10000,求第n个Fibonacci数mod 10000 的值,n不超过2^31。结果保留四位数字。 非常easy的题,和之前做过的相比简单非常多了。 构造最简单的斐波那契数列矩阵。 #include<io ...
分类:
其他好文 时间:
2017-04-29 17:41:07
阅读次数:
185
题目:斐波那契数列。 程序分析:这个数列从第3项开始,每一项都等于前两项之和。故 n=1,2,f=1 n>2,f=f(n-1)+f(n-2) 例如:1,1,2,3,5,8..... 网上答案: 方法一 方法二 以上实例输出了第10个斐波那契数列,结果为: 方法三 如果你需要输出指定个数的斐波那契数列 ...
分类:
编程语言 时间:
2017-04-28 23:29:46
阅读次数:
227
(一)通项公式 (二)递归 递归是最慢的会发生重复计算,时间复杂度成指数级。 (三)循环 利用临时变量来保存中间的计算过程,能够加快运算。 (四)矩阵乘法+空间换时间(减少乘法,取模运算) 数列的递推公式为:f(1)=1,f(2)=2,f(n)=f(n-1)+f(n-2)(n>=3) 用矩阵表示为: ...
分类:
其他好文 时间:
2017-04-27 10:26:49
阅读次数:
183
斐波那契数列 思路: 矩阵快速幂; 来,上代码: ...
分类:
其他好文 时间:
2017-04-26 10:02:31
阅读次数:
175
斐波那契数列问题是算法学习者必定接触到的问题。作为经典问题,首次接触时通常是作为递归算法的案例教程。 然而递归解决斐波那契。其效率低的令人发指,有人算出其时间复杂度为O(2^n)。指数级时间复杂度。 假设面试的时候面试官问你斐波那契的求解方法,你来一个递归求解,基本上能够说,你已经game over ...
分类:
编程语言 时间:
2017-04-25 11:49:25
阅读次数:
177
在前面讲迭代器和生成器原理的时候,就已经说过__iter__方法和__next__方法的作用了,在这里就不做重复描述了。在这补一个实现迭代器协议的例子。例1:(在没有抛出StopIteration这个异常之前,这个迭代器会无限的生成值)classc1:def__init__(self,start):self.start=startdef_..
分类:
编程语言 时间:
2017-04-23 13:20:13
阅读次数:
148