动态规划算法使用特点与例题

动态规划


动态规划题目的特点:

  1. 计数

    -有多少种方式走到右下角

    -有多少方式选出k个数使得和是Sum

  2. 求最大最小值

    -从左上角走到右下角路径的最大数字和

    -最长上升的子序列长度

  3. 求存在性

    -取石子游戏,先手是否必胜

    -能不能选出k个数使得和是Sum

例题:

有三种硬币,分别面值2元,5元和7元,每种硬币都有足够多。若需要买一本书,如何用最少的硬币组合正好付清,不需要对方找钱?


拼出x所需要的最少硬币数为:
F [ x ] = m i n ( F [ x − 2 ] + 1 , F [ x − 5 ] + 1 , f [ x − 7 ] + 1 ) F[x]=min(F[x-2]+1,F[x-5]+1,f[x-7]+1) F[x]=min(F[x2]+1,F[x5]+1,f[x7]+1)

  • 初始条件:F[0]=0,F[-1]=f[-2]=…=无穷大

  • 然后计算F[1],F[2]…

从0开始计算,直到F[27],最终得到F[27]为5。在这里插入图片描述
参考:https://www.bilibili.com/video/BV1xb411e7ww?from=search&seid=1469700049142068914

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值