动态规划爬楼梯(为什么到i级的方法=到i-1级的方法+到i-2级的方法)
先附个原题
初学动态规划,“爬楼梯”是必不可少的,但是相信有好多人都不理解问什么可以直接把变为斐波那契数列进而用到i-1级的方法+到i-2级的方法来求得到第i级台阶的方法。
这是为什么呢?
Because 最后一下确定了
如何理解呢?
(1)首先最后一步只有两种可能,①要么迈1级台阶②要么迈2级台阶。
(2)那么到某级的方法就=所有最后迈1级台阶的方法+所有最后迈2级的方法。
(3)所有最后迈1级台阶的方法在dp[i-1],所有最后迈2级台阶的方法在dp[i-2]。(以到i级为例)