暴力转移竟然AC了?
查看原帖
暴力转移竟然AC了?
779997
like_tis楼主2023/10/20 21:16
#include<bits/stdc++.h>
using namespace std;
int n,a[100005];
int step1(){
    vector<int> dp;
    dp.push_back(a[1]);
    for(int i=2;i<=n;i++){
        if(a[i]<=dp.back()){
            dp.push_back(a[i]);
        }
        else{
            for(int j=0;j<dp.size();j++){
                if(dp[j]<a[i]){
                    dp[j]=a[i];
                    break;
                }
            }
        }
    }
    return dp.size();
}
int step2(){
    vector<int> dp;
    dp.push_back(a[1]);
    for(int i=2;i<=n;i++){
        if(a[i]>dp.back()){
            dp.push_back(a[i]);
        }
        else{
            for(int j=0;j<dp.size();j++){
                if(dp[j]>=a[i]){
                    dp[j]=a[i];
                    break;
                }
            }
        }
    }
    return dp.size();
}
int main(){
    while(scanf("%d",&a[++n])!=EOF);
    n--;
    printf("%d\n",step1());
    printf("%d",step2());
    return 0;
}
2023/10/20 21:16
加载中...