解题思路:
运用动态规划解此题!!!
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; int a[1005],b[1005],c[1005],n; int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i];//输入身高 for(int i=1;i<=n;i++){//按照由左向右顺序计算b序列 b[i]=1; for(int j=1;j<=i-1;j++){ if(a[i]>a[j]&&b[j]+1>b[i]) b[i]=b[j]+1; } } for(int i=n;i>=1;i--){//按照由左向右顺序计算c序列 c[i]=1; for(int j=i+1;j<=n;j++){ if(a[i]>a[j]&&c[j]+1>c[i]) c[i]=c[j]+1; } } int maxn=-1;//算出最大值 for(int i=1;i<=n;i++){ maxn=max(b[i]+c[i],maxn); } cout<<n-maxn+1; return 0; }
0.0分
11 人评分
十->二进制转换 (C语言代码)浏览:1330 |
C语言考试练习题_排列 (C语言代码)浏览:767 |
【亲和数】 (C语言代码)浏览:541 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:637 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:895 |
数对 (C语言代码)浏览:762 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:537 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1457 |
1071题解浏览:584 |
简单的a+b (C语言代码)浏览:1024 |