poj解题报告——1836
2015-02-10 16:00
316 查看
这题要求最长上升子序列和最长下降子序列,除了最高的部分能出现等高,其他部分不行。
代码如下
代码如下
#include<stdio.h> #include<stdlib.h> void main() { int n,i,j,result,m,up[1005],down[1005]; double a[1005]; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%lf",&a[i]); } m=0; memset(up,0,sizeof(up)); memset(down,0,sizeof(down)); up[0]=1; for(i=1;i<n;i++) { up[i]=1; for(j=0;j<i;j++) { if(up[j]>=up[i]&&a[i]>a[j]) up[i]=up[j]+1; } } down[n-1]=1; for(i=n-2;i>=0;i--) { down[i]=1; for(j=n-1;j>i;j--) { if(down[j]>=down[i]&&a[i]>a[j]) down[i]=down[j]+1; } } for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(up[i]+down[j]>m) m=up[i]+down[j]; } } result=m; printf("%d\n",n-result); } }
相关文章推荐
- POJ - 1836 Alignment解题报告(dp求至少删除多少个数可以变成递增数列)
- poj-1836-Alignment解题报告 LIS
- poj1906解题报告
- POJ 2744 子串 解题报告
- poj 1050 解题报告
- POJ 2656 解题报告
- POJ 1019 解题报告
- POJ 3160 Father Christmas flymouse 解题报告
- 北大POJ解题报告-1003 Hangover
- POJ 2853 解题报告
- POJ1247解题报告
- POJ 1125 Stockbroker Grapevine 解题报告
- 【原】 POJ 1088 滑雪 递归+memoization 解题报告
- 【原】 POJ 1157 LITTLE SHOP OF FLOWERS 动态规划 解题报告
- 【原】 POJ 2352 Stars 树状数组 解题报告
- 【原】 POJ 3176 Cow Bowling 动态规划 解题报告
- poj2914解题报告
- poj 1338 ugly numbers和poj 2247Humble Numbers 解题报告(附详细分析)
- POJ 1442 Treap 解题报告
- POJ - 3070 Fibonacci 解题报告