题目链接 http://vjudge.net/problem/UVA-10229 解题思路 一开始想到一种O(n)的算法,就是每次只算fib的二进制后m位,然后就TLE了。。。 比较正确的解法是用矩阵快速幂。大概是O(log(n))的算法,对任何数据都很快。。。 要注意n=0的情况。。。 代码 ...
分类:
其他好文 时间:
2016-09-18 23:29:27
阅读次数:
170
Eighty seven Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others) Problem Description Mr. Fib is a mathematics teacher o ...
分类:
其他好文 时间:
2016-09-17 21:38:32
阅读次数:
203
题目链接 http://vjudge.net/problem/21247 题意 给A,B。求[A, B] 内有多少个fib数。 解题思路 直接高精度模拟 代码 ...
分类:
其他好文 时间:
2016-09-16 15:31:59
阅读次数:
108
Make it work 递归 Make it right 递归 Make it fast 迭代 所谓的动态规划:就是用递归初步给出,让后用迭代等价的替换。 fib(n) = fib(n - 1) + fib(n -2) +...........+ ........ : 递归 T(n) = T(n ...
分类:
其他好文 时间:
2016-09-12 19:09:33
阅读次数:
170
通过计算斐波那契数列明白缓存在网站开发中的重要性 1 、首先测试一下没有使用数据缓存来计算斐波那契数列。 var count = 0; function fib(n) { count++; if(n 0 || n 1) { return 1; } return fib(n - 1) + fib(n ...
分类:
Web程序 时间:
2016-09-08 23:21:25
阅读次数:
312
fib (n) = 1 (n=1) fib (n) = n*fib(n-1) (n>1) // 条件不成立,则继续调用函数并检查条件不满足则继续调用函数...直到函数返回值为1时,再一层层将返回值递归返回上来 // 我们可以用符合条件的尽量简单的实例来剖析那些复杂的算法 例如:5 * 4 * 3 * ...
分类:
编程语言 时间:
2016-09-06 15:37:55
阅读次数:
160
题目:给定一个长度为40的数字,问其是否在前100000项fibonacci数的前缀 因为是前缀,容易想到字典树,同时因为数字的长度只有40,所以我们只要把fib数的前40位加入字典树即可。这里主要讨论下怎么得到fib数的前40位。 首先,因为没可能每一项的fib都求出来的了。空间都存不下来。所以, ...
分类:
其他好文 时间:
2016-08-23 23:19:38
阅读次数:
199
C语言通过运行时堆栈支持递归函数的实现,递归函数时直接或者间接调用自身的函数,经常有人拿斐波那契实现当做递归的实现,然后这样做效率并不高。 n < 1; Fib(1) =1 n = 2; Fib(2) = 1 n > 2; Fib(n) = Fib(n - 1) + Fib(n - 2); 由于每个 ...
分类:
其他好文 时间:
2016-08-18 01:12:45
阅读次数:
181
一,问题描述 有个小孩上楼梯,共有N阶楼梯,小孩一次可以上1阶,2阶或者3阶。走到N阶楼梯,一共有多少种走法? 二,问题分析 DP之自顶向下分析方式: 爬到第N阶楼梯,一共只有三种情况(全划分,加法原理),从第N-1阶爬1阶到第N阶;从第N-2阶爬2阶到第N阶;从第N-3爬3阶到第N阶。 故:way ...
分类:
其他好文 时间:
2016-07-23 22:57:06
阅读次数:
228