#include<bits/stdc++.h>
using namespace std;
int a[10006];
int dp[10006];
void solve(void)
{
int n;
while(cin>>n){
fill(dp,dp+n,0x3f3f3f3f);
for(int i = 0 ; i < n ; i++) cin>>a[i];
for(int i = 0 ; i < n ; i++) *lower_bound(dp,dp+n,a[i]) = a[i];
cout<<lower_bound(dp,dp+n,0x3f3f3f3f) - dp<<endl;
}
}
int main(void)
{
solve();
return 0;
}
【模板】LIS nlogn 模板
最新推荐文章于 2020-10-13 12:58:20 发布