动态规划举例

动态规划

将大问题化为若干个小问题,通过小问题的最优解得到大问题的最优解,自底向上的解决问题

例子

斐波那契数列

斐波那契数列是经典的动态规划,这里不再过多介绍了

走楼梯问题

现共有n个阶梯,A想要从一楼走到二楼,因腿长的限制,她一步可以跨一个或两个阶梯,且只能向上走(即若A正在第x个阶梯上,它可以选择到第x+1或第x+2个阶梯),请问他有多少种方法可以上到实训二楼。

思路

按照动态规划的思想,首先建立递推关系;
定义a[i]为从第0个阶梯到第i个阶梯有多少种方法;
那么假如我们现在在第i个阶梯,a[i]之前的都已经有对应的答案值,如何用a[i]之前的表示a[i],即可以通过从[i-1]和[i-2]对应阶梯分别上1、2层便可到i,也就是:
a [ i ] = a [ i − 1 ] a [ i − 2 ] a[i]=a[i-1]a[i-2] a[i]=a[i1]a[i2]
接下来,定义初始值a[0]=a[1]=1;
然后递推计算就行了;

背包问题

背包问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值