LIS问题
下面介绍nlogn做法
:
需要一个end数组
end[i]代表长度为i+1的递增序列的最小结尾是谁
每次进来一个新数
在end里寻找大于等于该数的位置,如果找的到说明可以将该数换为更优,直接替换
如果找不到说明end数组可以更新,将新数加入end数组中
最后end数组的大小即为答案
该过程可以用set进行维护
算法讲解072【必备】最长递增子序列问题与扩展_哔哩哔哩_bilibili
下面介绍nlogn做法
:
需要一个end数组
end[i]代表长度为i+1的递增序列的最小结尾是谁
每次进来一个新数
在end里寻找大于等于该数的位置,如果找的到说明可以将该数换为更优,直接替换
如果找不到说明end数组可以更新,将新数加入end数组中
最后end数组的大小即为答案
该过程可以用set进行维护
算法讲解072【必备】最长递增子序列问题与扩展_哔哩哔哩_bilibili