POJ 1836 Alignment
来源:互联网 发布:宏业软件怎么安装 编辑:程序博客网 时间:2024/06/04 18:31
题目大意:
给定一排人的身高,求踢出最少的人可以使队列身高如下形状:
(感谢大神提供图片)
这个题比较简单,顺序一遍最长上升子序列,逆序一遍最长上升子序列,最后处理一下数据就行。
下面是代码:
#include <stdio.h>#include <string.h>const int MAX=1005;int main(){ int n,dpl[MAX],dpr[MAX]; double hi[MAX]; while(scanf("%d",&n)!=EOF) { int i,j; for(i=0; i<n; i++) { scanf("%lf",&hi[i]); } memset(dpr,0,sizeof(dpr)); memset(dpl,0,sizeof(dpl)); dpl[0]=1; for(i=1;i<n;i++) { dpl[i]=1; for(j=i-1;j>=0;j--) { if(hi[j]<hi[i]&&dpl[j]+1>dpl[i]) { dpl[i]=dpl[j]+1; } } } dpr[n-1]=1; for(i=n-2;i>=0;i--) { dpr[i]=1; for(j=i+1;j<=n-1;j++) { if(hi[j]<hi[i]&&dpr[j]+1>dpr[i]) { dpr[i]=dpr[j]+1; } } } int ans=dpl[n-1]; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(dpl[i]+dpr[j]>ans) { ans=dpl[i]+dpr[j]; } } } printf("%d\n",n-ans); } return 0;}
- POJ 1836 Alignment
- POJ 1836 Alignment
- poj 1836 Alignment
- Poj 1836 Alignment
- poj 1836 Alignment
- POJ 1836-Alignment
- poj 1836 Alignment
- POJ 1836 Alignment
- POJ 1836 Alignment
- POJ 1836 Alignment
- POJ 1836 Alignment
- POJ 1836 Alignment
- POJ 1836 Alignment
- poj 1836 Alignment
- poj 1836 Alignment
- poj 1836 Alignment
- POJ - 1836 Alignment
- poj 1836 Alignment
- 在MVC中的功能化编辑(ASP.NET)
- 机房设备与线路资源管理
- 计算程序运行时间
- 英语对于软件开发者来说到底有多重要?
- Linq找不到行或行已更改
- POJ 1836 Alignment
- git add详解
- hdu 4192
- frameset和frame的使用方法
- A - 一二三
- 怎么把普通图片转换成mbn格式的
- linux 安装java
- JPEG原理详细2
- HDU 4166 & BNU 32715 Robot Navigation (记忆化bfs)