5 条题解

  • 0
    @ 2025-4-13 20:26:47

    #include<bits/stdc++.h> using namespace std; const int N=1e5; const int INF = 0x3f3f3f3f; typedef long long LL; int a[N],n,dp1[N],dp2[N],maxx = -INF;

    int main(){ cin >>n; for(int i = 1;i<=n;i++){ cin >> a[i]; } for(int i = 1;i<=n;i++){ dp1[i] = 1; for(int j = 1;j<i;j++){ if(a[j]<a[i]){ dp1[i] = max(dp1[i],dp1[j]+1); } for(int i = n;i>=1;i--){ dp2[i] = 1; for(int j = i+1;j<=n;j++){ if(a[j]<a[i]){ dp2[i] = max(dp2[i],dp2[j]+1); maxx = max(maxx,dp1[i] + dp2[i]-1); } } } } } cout << n-maxx; return 0; }

    信息

    ID
    1622
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    308
    已通过
    82
    上传者