八十分求调!!!

B3637 最长上升子序列

aochiao @ 2024-04-30 19:33:08


#include<bits/stdc++.h>
using namespace std;
int dp[10001],n,a[10001],maxn=0;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    dp[1]=1;
    for(int i=1;i<=n;i++){
        for(int j=1;j<i;j++){
            if(a[j]<a[i]) dp[i]=max(dp[j]+1,dp[i]);
        }
        maxn=max(dp[i],maxn);
    }
    cout<<maxn;
    return 0;
}

by aochiao @ 2024-04-30 19:38:59

对不起,已经改好了。


#include<bits/stdc++.h>
using namespace std;
int dp[10001],n,a[10001],maxn=0;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    dp[1]=1;
    for(int i=1;i<=n;i++){
        dp[i]=1;
        for(int j=1;j<i;j++) if(a[j]<a[i]) dp[i]=max(dp[j]+1,dp[i]);
        maxn=max(dp[i],maxn);
    }
    cout<<maxn;
    return 0;
}

|