DP入门

DP入门

其实想学DP很久了,今天基本了解了一下DP的一些基础概念和实现方法,自己之前有看过书,掌握情况应该不算太差。

动态规划的基础概念?
1.阶段:对于一个已知的问题,把其根据一个特定的有向过程分成若干有一定顺序而相互联系的子过程,以便于求解。
2.状态:每个阶段中面临的客观条件或自然状况称为状态,是不可控制的因素。
3.状态转移:从一个阶段的一个状态转移到下一个阶段的某个状态的一种选择行为,叫做状态转移。

动态规划的原理?
DP的原理有两个,最优化原理(最优子结构)和无后效性。
首先是最优化原理,简单来说就是对于一个以求出的最优策略,其子策略一定是局部的最优策略。这也就使动态规划的过程成为一种由局部最优推出全局最优的过程。(但与贪心不同)
然后是无后效性,对于当前状态而言,在此后过程的演变中不再受到此前的各种状态以及决策的影响,即“未来与过去无关”。简单说,就是当前状态的最优解只和前一个阶段的某几个状态有关,而与之后阶段无关。

动态规划是什么?我认为可以分为这几块:
1.划分阶段
2.状态转移
3.确定边界
这就是动态规划的一般思路。当然,对于一个已知的问题,首先应该先判断其是否具有最优子结构的性质,也即是否能用动态规划来解决。
动态规划如何实现?
1.记忆化搜索
2.递推
介于记忆化搜索需要用到递归,效率不如递推,且大量的优化技巧都是建立在递推上的(如滚动数组,单调队列,斜率优化等等),所以一般用递推来写动规。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值