接着上一讲,我们继续来讲解dp动态规划中的经典问题:LIS问题
没看过我的dp系列上一讲的友友,可以看我合集里面的上一讲,这样更有利于理解!
我会用一个模板题+变式题来讲解dp问题中的LIS问题
LIS模板题:最长上升子序列问题:
LIS概述:LIS,longest increasing subsequence;最长上升子序列问题:
下面是其模板题目:

dp集合分析法:分析:


代码循环分析与 初始化:

显然,代码循环可以从小到大,初始化f[1]=1;
代码实现:

特别注意:
特判

处理”空“集合的情况:

LIS衍生题:怪盗基德的滑翔翼

这是LIS变形题目, 有点点的思维的巧妙,与 逆向转化 :
分析:

我们的集合dp分析法:

代码实现:正向LIS + 反向LIS :

因此:此问题得到解决!!!
总结:
这一讲讲述了dp问题的LIS经典模板, 用集合dp分析法来成功解决了问题!
1435

被折叠的 条评论
为什么被折叠?



