![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LIS
hohotiger
这个作者很懒,什么都没留下…
展开
-
LIS 的 n*log 算法 ———二分维护
upper_bound只会替换让留在数组里的最长递增子序列尽可能小 由于upper查出来的结果下标是那个可以插入这个值得最后一个元素 所以他会把大的数变成小的数upper将可以替换成新元素的元素替换成更小的 将不能替换的元素 大的元素直接放在最后面 很神奇你会发现 这个问题 通过一个二分就能解决 如何解决的呢 我们要在vector中维护一个递增序列 如何维护 那就是每当我们遍历过程原创 2017-11-02 17:19:39 · 707 阅读 · 0 评论 -
HDU-3998 Sequence LIS统计
题意让我们在数串统计最长长度的LIS有多少个 每个LIS元素没有重叠分析这题可以用nlogn的LIS方法水过 就是每次我们更新找到的LIS长度的时候 就把当前位置下的元素标记 表示我们把它删掉了 不断地重复找LIS的过程 最后如果找到的长度小于我们最初找到的LIS长度 就退出循环 复杂度大概在O(number of LIS * n * logn)code#include<bits/std原创 2017-11-02 17:29:11 · 167 阅读 · 0 评论