第12周总结博客(校历第14周)动态规划读资料

一:前言

本周学习了线性动态规划算法,看了博客。

相比于以前的知识,切切实实感觉到了难度,在看别人博客的时候,代码看不懂,需要画图才能理解。重点是这个动态规划既要考虑,当前状态,又要考虑过去状态,各阶段状态之间的关系不好找。感觉dp难就难在转移。

     へ     /|
  /\7    ∠_/
  / │   / /
 │ Z _,< /   /`ヽ
 │     ヽ   /  〉
  Y     `  /  /
 ?  ● ? ●  ??〈  /
 ()  へ    | \〈
  >? ?_  ィ  │ //
  / へ   / ?<| \\
  ヽ_?  (_/  │//
  7       |/
  >―r ̄ ̄`?―_

二:学习总结:

较大数字溢出:

1:指数取对数,质数取模取余

2:线性DP做题整合_键盘里的青春的博客-CSDN博客

 DP题目总结(每天一小点)_fighting_yifeng的博客-CSDN博客_dp题目

动态规划--线性dp - 随笔分类 - _雨 - 博客园 (cnblogs.com)

动态规划---线性dp - 随笔分类 - wyboooo - 博客园 (cnblogs.com)

dp_cyl纤云弄巧的博客-CSDN博客

看完这些博客,明白了线性规划基本原理,就是一定要保证状态无后效性,即:某阶段的状态一旦确定,则此后过程的演变不再受此前各种状态及决策的影响,状态、阶段和决策是构成DP算法的三要素,而子问题重叠性、无后效性和最优子结构性质是问题能用DP求解的三个基本条件。

我自己以前在解题的过程中,发现把问题分成若干阶段进行,确定一阶段达到最优时,再去做下一阶段,但发现当下一阶段达到最优时,会影响已经完成的阶段,从而最终都只有一个阶段是最优的。比如快递放在货架上,给一批快递,含有N个订单,M种货物,让把所有货物放在一个长条形架子上,一种货物只能放一个格子,问怎样放置取快递该批快递所有订单取快递所消耗的路程最短,我最初想的是贪心算法,按订单安排,把每个订单都放到最优,结果发现,把第一个订单放好,再放第二个订单,如果第一个订单和第二个订单含有同种货物,就可能会把第一个订单已经排好的最优解打乱,也就是说这种方法状态有后效性。

首先要保证状态无后效性,否则一定是不对的。其次是状态转移方程可以正推,也可以逆推。

对于dp转移过程中如果遇见了求和,试着发现求和式子的规律,设计函数(并且该函数可以在dp过程中累积),从而降低转移的复杂度。

感觉线性dp很多水题,很多题目思路相同。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值