动态规划有感

在诸多算法中,我认为动态规划是其中上下限差距最大,也是最有魅力的一种算法,可以很难,很精妙,如鸡蛋掉落;也可以很简单,如斐波那契数列;也可以很经典,如LISLCS;也可以很复杂,如数字0-9的数量等等。

针对于动态规划,经过一段时间的刷题做个简单的总结。

动态规划的关键是状态及转移,而核心则为无后效性,如果有后效性则无法使用动态规划求解。

第一步是进行分析,将题目中隐晦的逻辑进行简化或者转化,这点可以说是经验与知识的积累;
第二步则是抽取出题目提到的状态,比如股票买卖系列中的,每天的收益,这里天,收益都是状态;
第三步则是抽取出题目提到的动作,动作就是状态转移,比如股票买卖系列里的卖出和买入就是两个转移动作。经过以上三步后,进而需要根据状态来定义初态,结果怎么取。

ps:
1、状态的定义一般都是定义某个子问题的最优解,比如某个子区间的最大值。
2、初态的初始化可以结合状态的转移,保证状态转移的时候,前置状态一定都是已知的。

最后还是要经过大量的实践练习来积累经验,没见过的解法是很难凭空想到的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值