dp小总结

本文分享了作者攻克动态规划五大经典问题的心得体会,包括最长连续子序列之和、数塔问题、01背包、最长公共子序列及最长递增子序列。通过实例讲解,帮助读者更好地理解和掌握这些算法。

颓了五天之后我终于开始工作了,再次决定先不要想那么多,没事干才迷茫!
今天终于看懂了最长公共子序列,还是自己把表完整地写一遍比较好理解,然后在杭电上随意地点开了一个recommend,就来到了一个题(1087),看完最长递增子序列,我就看完了五类基本的dp问题——最大连续子序列之和,数塔问题,01背包,最长公共子序列,最长递增子序列。
呃,当然可能忘得也差不多了,但是还是决定总结一下。
前几篇也写了,dp就是把大问题分成小问题,然后建一个表,把东西先存起来,不管有没有用先。
最长连续子序列之和:
我觉得这是dp中最好想的了,把每一个都当做是最后一个数,那加上这个数的sum还是这个数,dp[i]=max(sum+num[i],num[i]);额…我又写错了!是dp[i]=max(dp[i-1]+num[i],num[i]);不想讲话了,自己看着理解吧。
数塔问题:
数塔最关键的就是从后往前走嘛,先把最后一层的dp写好,然后往上走。
01背包
01背包我觉得关键就是找好背包容量是什么
最长递增子序列
最长公共子序列
emmmm,不想写了,还是再多刷几道题,然后脑子里有点东西再写吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值