动态规划 2019.9

动态规划

经典,背包,股票问题

2019.9

1.做题先判断是否可以使用动态规划(联系3.),再搜索,贪心
2.思维上的提升相反
3.(搜索类问题/甚至非搜索类问题)确定使用动态规划后,可以画出搜索树,观察重叠子问题->状态转移方程(从记忆化搜索->自底向上)
4.确定状态方程
  1^ 先确定决策(如何决策,决策的范围)(先确定决策可能使问题状态转移清晰->推理问题更加清晰)/先确定阶段/先确定状态
  2^ 推几组数据,总结规律(例:打家劫舍)
5.一般题中问题表示状态,分治求选择(分治->高效分治->记忆化分治->动态规划)
6.表示状态的i,j可能表示 第i,j;或 前i,j
7.组合选取类问题都可以使用动态规划
8.动规解决不了,该暴力暴力

经典


leetcode 53 最大子序列和:
      1.注意初始化
      2.连续线性动态规划->依赖前一状态
leetcode 300 最长不下降子序列:
      1.不连续->状态是一维
      2.当前的状态可能来自序列前的某几个状态,填表是二重循环
leetcode 5 最长回文子串:
      1.状态为二维,状态转移方程为bool量
      2.考虑回文串特性,以串长控制填表

背包问题(0-1,多重,完全)


leetcode 416 分割等和子集
      1.0-1背包
      2.状态转换方程为布尔量,填充剩余容量

股票问题


leetcode 121 股票最简单 EP
      1.暴力

2019.9


leetcode 62 不同路径:
      1.dfs记忆化搜索:自顶向下
      2.递推:自底向上
leetcode 63 不同路径2:
      1.同上
leetcode 980 不同路径3: ER
leetcode 64 最小路径和:
      1.使用动态规划
leetcode 120 三角形最小路径和:
------------------------------------------------------------------      
leetcode 198 打家劫舍: EP
      1.推几组数据,总结规律->动态方程
      2.dp[i]=max(dp[k-2]+nums[k], dp[k-1])
leetcode 213 打家劫舍2: EP
      1.dfs剪枝(超时)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值