2 条题解
-
1
#include<bits/stdc++.h> using namespace std; int a[200],b[200],c[200],n,maxx; main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++){ b[i]=1; for(int j=1;j<i;j++){ if(a[i]>a[j]&&b[j]+1>b[i])b[i]=b[j]+1; } } for(int i=n;i>=1;i--){ c[i]=1; for(int j=i+1;j<=n;j++)if(a[j]<a[i]&&c[j]+1>c[i])c[i]=c[j]+1; } for(int i=1;i<=n;i++)maxx=max(maxx,b[i]+c[i]); cout<<n-maxx+1; return 0; } //1 14/1=14 //(y2-y1)/(y-y1)
-
-1
#include<bits/stdc++.h> using namespace std; int n,a[110],maxn,max2,t,f[110],f2[110]; int main() { int i,j; cin>>n; for(i=1;i<=n;i++) cin>>a[i]; for(i=1;i<=n;i++) { f[i]=1; for(j=1;j<i;j++) if(a[i]>a[j]&&f[j]+1>f[i])f[i]=f[j]+1; } for(i=n;i>=1;i--) { f2[i]=1; for(j=i+1;j<=n;j++) if(a[i]>a[j]&&f2[j]+1>f2[i])f2[i]=f2[j]+1; } for(i=1;i<=n;i++) { if(f[i]+f2[i]>maxn)maxn=f[i]+f2[i]; } cout<<abs(n-maxn+1); }
- 1
信息
- ID
- 14
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- (无)
- 递交数
- 163
- 已通过
- 89
- 上传者