最长递增子序列和最长不降子序列

最长递增子序列和最长不降子序列,第1张

最长递增序列和最长不降子序列

前言:最长递增子序列和最长不降子序列的代码模板


int LIS(vector a) {
    vector dp;
    for(int x : a) {
        auto pos = upper_bound(dp.begin(), dp.end(), x); // < : lower, <= : upper
        if(pos == dp.end()) 
        	dp.push_back(x);
        else 
        	*pos = x;
    }
    return dp.size();
}

注意: 代码中的 < 代表递增子序列,需要使用 lower_bound 函数,而 <= 则代表不降子序列,需要使用 upper_bound 函数.

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5702836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存