递归转动态规划套路总结

来自左神的教导总结
1. 确定递归函数意义
2. 确定大小范围,设计表
3. 确定递归终止状态,填表边界(自底向上时:从结尾填表;自顶向下时,跟踪递归流程填表)
例:
自底向上: 一般从dp[n] n>=边界处填表
自顶向下:一般根据跟踪递归从开始处例dp[0]填表
4. 确定要求的状态
5. 确定要求的状态与其所需依赖的状态关系(自底向上时:正向依赖; 自顶向下时:方向依赖)
例:
自底向上:f(i)=f(i+1) - >dp[i]=dp[i+1] (正向依赖)
自顶向下:f( i ) =f(i+1) - > dp[i] = dp[i-1]; (反向依赖)
6. 从要求的状态用依赖关系往下推,就可以发现规律
7. dp决策与递归相同可照抄
8. 最终就可以算出要求的dp状态(或者通过再次处理得出)

例子:
机器人走方格I
年终奖
最近公共祖先
直方图内最大矩形
罪犯转移
最长公共子串

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值