acm 模板:最长上升子序列
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,arr[10000],L[10000],length=0;
cin>>n;
for(int i=0;i<n;cin>>arr[i++]);
L[0]=arr[0];
for(int i=1;i<n;++i)
if(arr[i]>L[length])
L[++length]=arr[i];
else
*lower_bound(L,L+length,arr[i])=arr[i];
cout<<length<<endl;
return 0;
}
#include<algorithm>
using namespace std;
int main()
{
int n,arr[10000],L[10000],length=0;
cin>>n;
for(int i=0;i<n;cin>>arr[i++]);
L[0]=arr[0];
for(int i=1;i<n;++i)
if(arr[i]>L[length])
L[++length]=arr[i];
else
*lower_bound(L,L+length,arr[i])=arr[i];
cout<<length<<endl;
return 0;
}
下一篇:纸短情长
声明:以上文章均为用户自行添加,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。
文章热度:★☆☆☆☆
文章难度:★★★★☆
文章质量:☆☆☆☆☆
说明:系统根据文章的热度、难度、质量自动认证,已认证的文章将参与打字排名!
本文打字排名TOP20
登录后可见
用户更多文章推荐
- 树状数组-百度百科2020-01-02