楼主: 540175311
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 求各位大佬 DP 类题目做法

🔗
飘然旷野 2019-7-4 16:19:10 | 只看该作者
全局:
我的理解,首先要认识到动态规划(迭代),包括备忘录法(递归方式的动态规划),其核心用意非常明确,就是避免子问题(大问题划分成若干的小问题)的多次重复计算,故利用空间(如数组,或map)将子问题的结果记录下来。所以求解包括辨别动态规划问题的核心就是,在你构思题目解法的时候,有没有发现需要多次求解的重复子问题。
当发现了重复子问题,就需要应用动态规划思想求解。抽象看来,常见的套路是,根据能确定子问题的变量的个数作为动态规划数组的维度,通过递归和迭代将子问题求解,后续重复求解的时候只需要查找dp数组或者map即可。
具体而言,多练多写。
回复

使用道具 举报

🔗
PoJen 2019-7-4 20:26:35 | 只看该作者
全局:
回复

使用道具 举报

🔗
baomidi 2019-7-5 01:53:51 | 只看该作者
全局:
DP问题的本质是,把一个大问题分解成几个小步骤,这几个前面的state会影响此刻的state
回复

使用道具 举报

全局:
我也正在练DP,粗浅的归了几类。
我的方法比较粗暴,就是针对常见题分类总结找套路,没有上升到DP思想的理解这种层次。
总结了几类:
第一类是矩阵上的路径那种,参加LC 62 63 那种,这种比较简单
第二类是一维度序列型,常见的如LC 300, 45, 55 这种,特点是一般是两个for,对于新的位置的dp[i], 要往回看这种
第三类是二维序列,基本上string上的dp多是这种,比如编辑距离,Longest common subsequence什么的,这种类型的有好多,但是套路相近,你确定了二维的框架后,再去找状态转移,至少有了思考方向了
第四类是背包
第五类是一维切分类,比如LC 132
看课程还说有啥博弈型,区间型什么的,我暂时没做到过。

评分

参与人数 2大米 +7 收起 理由
cszj + 1 赞一个
14417335 + 6

查看全部评分

回复

使用道具 举报

🔗
yanjinbin 2019-9-20 15:23:13 | 只看该作者
全局:
tianjiayangmike 发表于 2019-9-20 15:05
我也正在练DP,粗浅的归了几类。
我的方法比较粗暴,就是针对常见题分类总结找套路,没有上升到DP思想的理 ...

兄台 你的归类 不对  看看崔添翼大佬的背包九讲 吧  
你的分类 太初级了 没看透问题的本质呢
https://github.com/tianyicui/pack
还有 oi-wki上的 其他类型的dp总结

评分

参与人数 1大米 +2 收起 理由
kiawe + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
yanjinbin 发表于 2019-9-20 15:23
兄台 你的归类 不对  看看崔添翼大佬的背包九讲 吧  
你的分类 太初级了 没看透问题的本质呢
https:// ...

感谢老哥指点,我刚开始搞DP题,理解的确实很浅,我明天好好钻研一下你给的资料
回复

使用道具 举报

🔗
yanjinbin 2019-9-20 17:52:14 | 只看该作者
全局:
tianjiayangmike 发表于 2019-9-20 16:18
感谢老哥指点,我刚开始搞DP题,理解的确实很浅,我明天好好钻研一下你给的资料

哈哈  我也是 自己刷了背包九讲 发现这类型的问题  可以吃透了
  就是类似 我一定可以自己写出来 有理论指导的含义在
当然 细节上面还是需要自己 多刷刷  
回复

使用道具 举报

🔗
Husky_wang 2019-9-21 02:56:21 | 只看该作者
全局:
linear scan回头看?谁来给我解释一下这句话是什么意思
回复

使用道具 举报

🔗
自行车车 2019-10-2 10:07:48 | 只看该作者
全局:
看起来不错,各位大佬分享各种方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表