LIS·优化

10 分钟

O(n²) 对大数据太慢。可以维护数组 g[]g[k] 记录长度为 k 的上升子序列结尾的最小值,它一定递增。每来一个数就二分找到它该替换的位置,复杂度降到 O(n log n)。

小纸条

为什么 g[] 里要存“最小的结尾值”,而不是随便一个?

登录 后可看答案

LIS·优化 · 算法进阶 · op599 课程