Ø 动态规划基本思想: 将待求解的问题分解为若干个子问题(阶段),按顺序求解子问题,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。 由于动态规划解 ...
分类:
其他好文 时间:
2019-11-07 13:30:51
阅读次数:
74
要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 解法一:递归解法,但递归解法有很严重的效率问题,因为递归解法中重复的计算太多。 解法二:循环实现,避免重复计算,把已经得到的数列中间项保存起来。 public class Solution { public int ...
分类:
其他好文 时间:
2019-11-05 20:01:29
阅读次数:
78
写在前面的话 本章节开始在主要介绍在运维工作中绕不开的一个话题,数据缓存 NoSQL 服务 Redis,搭建很简单,使用很简单,运行也稳定的一批,一般小公司几乎很少出现以为量的问题导致他 down 掉的情况,但如果我们想走上更高的台阶,只是简单的安装运行肯定是不够的。所以我会写这几篇博客,算是做一个 ...
分类:
其他好文 时间:
2019-11-05 13:34:47
阅读次数:
160
[toc] 斐波那契数组 公式:f[0] = 0; f[1]= 1; f[n] = f[n 1] + f[n 2] 如果直接用递归实现的话,可能会出现重复计算问题: 接下来说说一些相似的题目: 相似的题目 青蛙跳台阶问题: 一个青蛙可以跳上一个台阶,也可以跳上两个台阶,求改青蛙跳上一个n级的台阶共有 ...
分类:
编程语言 时间:
2019-10-31 21:39:51
阅读次数:
124
题目描述 有 $N$ 级的台阶,你一开始在底部,每次可以向上迈最多 $K$ 级台阶(最少 $1$ 级),问到达第 $N$ 级台阶有多少种不同方式。 输入格式 两个正整数 $N, K(n \le 10^5, k \le 100)$。 输出格式 一个正整数,为不同方式数,由于答案可能很大,你需要输出 $ ...
分类:
其他好文 时间:
2019-10-29 15:45:45
阅读次数:
86
题目描述 有 $N$ 级的台阶,你一开始在底部,每次可以向上迈最多2级台阶(最少1级),问到达第 $N$ 级台阶有多少种不同方式。 输入格式 一个正整数 $N(\le 20)$ 。 输出格式 一个正整数,为不同方式数。 样例输入 样例输出 ...
分类:
其他好文 时间:
2019-10-29 15:32:39
阅读次数:
70
斐波那契数列 矩阵算法$O(lgn)$ 待补充 跳台阶 经典问题 递归 basic解法,浪费栈空间 动态规划 常规解法,转移方程可以有很多变化 打表 按照转移方程提前计算 注意 :台阶数很多的时候,需要 手写大数加法 变态跳台阶/观察法 跳石板/动态规划 爬楼梯/ 大数 跳台阶 爬楼梯2/ 大数加法 ...
分类:
其他好文 时间:
2019-10-26 23:07:02
阅读次数:
122
同普通跳台阶一样,使用递归就可以解决,不过普通版因为仅有跳1阶和2阶的选择,所以返回F(n-1)+F(n-2),而变态版返回F(n-1)+F(n-2)+...+F(1)+1。此处加1是因为变态版除了可以跳(n-1)、(n-2)、...、2、1的和之外,还额外多一种跳n阶的情况。 ...
分类:
其他好文 时间:
2019-10-22 13:09:08
阅读次数:
61
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 当n = 1时,有一种跳法。f(1) = 1 当n = 2时,有两种跳法,跳两次,一次跳一级。跳一次,直接跳两级。 f(2) = 2 当n > 2时,第一次跳一级,这时跳 ...
分类:
其他好文 时间:
2019-10-21 00:18:45
阅读次数:
145
https://codeforces.com/contest/1238/problem/C 题意:下台阶的时候只有一种方式,拉动当前台阶x的 level,然后当前的台阶关闭,调到下边的台阶x-1,如果台阶x-1是打开的,那么会使他关闭,那么只能到达x-1下面打开的台阶y, 然后判断落差是否大于2,如 ...
分类:
其他好文 时间:
2019-10-11 20:30:05
阅读次数:
109