BZOJ1669: [Usaco2006 Oct]Hungry Cows饑餓的奶牛

題意
給定長度為n的序列,求最長上升子序列
復雜度
O(nlogn)
題解
網(wǎng)上有很多關于最長上升子序列nlogn的求法,我這里不在過多敘述。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,a[5001],last[5001],ans;
int main()
{
    memset(last,127,sizeof(last));
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    last[0]=0;
    for(int i=1;i<=n;i++)
    {
        int tmp=lower_bound(last,last+n,a[i])-last;
        last[tmp]=min(last[tmp],a[i]);
        ans=max(ans,tmp);
    }
    printf("%d",ans);
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容