#include<iostream>
using namespace std;
const int N = 1010;
int n;
int a[N];
int f[N];
int main(){
cin >> n;
for(int i = 1;i <= n;i++) cin >> a[i];
for(int i = 1;i <= n;i++){
f[i] = 1; // 初始化,唯一需要注意的地方
for(int j = 1;j <= i;j++){
if(a[j] < a[i]) f[i] = max(f[i],f[j]+1);
}
}
int res = -1e9;
for(int i = 1;i<= n;i++){
res = max(res,f[i]);
}
cout << res << endl;
return 0;
}
acwing dp 最长上升子序列
于 2025-02-16 11:18:58 首次发布