动态规划优化问题-1

本文探讨了动态规划中常见的优化方法,包括状态优化和转移优化,旨在解决因时间复杂度过高或空间需求过大导致的问题。文章介绍了四种转移优化类型:最长上升子序列O(nlogn)求法、单调队列/栈优化、斜率优化及四边形不等式,并预告了后续将通过具体例题深入解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​ 动态规划的题目,有时可能你推出了递推式,但是由于时间复杂度过高,或者dp数组过大,而导致TLE或MLE。这时,我们就需要用到动态规划优化

​ 优化有两种,分别是状态优化和转移优化

​ 状态优化用于优化空间,有两种方法,一是去除冗余的状态,二是重新定义状态。去除冗余状态最简单的例子比如滚动数组求解,重定义状态最简单的例子就是01背包,dp{i}{j}代表第i个物品在空间大小为j的背包下能装的最大价值,我们可以状态优化为dp{i}代表空间大小为i的背包能装下的最大价值。

​ 而转移优化是用来优化时间,有以下四类题:一是最长上升子序列O(nlogn)求法,二是单调(队列/栈)优化,三是斜率优化,四是四边形不等式

​ 这时候我们就可以根据不同的题目要求,选择相应的方式进行求解。

​ 具体对应例题将在本博客的后续进行详细解答~

转载请注明出处!!!

如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值