合唱队形 2004年NOIP全国联赛提高组

原创 2017年02月01日 21:14:56

合唱队形

 

2004年NOIP全国联赛提高组


题目描述

N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。

合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<...<Ti>Ti+1>…>TK(1<=i<=K)。

你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

输入输出格式

输入格式:

输入文件chorus.in的第一行是一个整数N(2<=N<=100),表示同学的总数。第一行有n个整数,用空格分隔,第i个整数Ti(130<=Ti<=230)是第i位同学的身高(厘米)。

输出格式:

输出文件chorus.out包括一行,这一行只包含一个整数,就是最少需要几位同学出列。

输入输出样例

输入样例#1:

8
186 186 150 200 160 130 197 220
输出样例#1:

4

说明

对于50%的数据,保证有n<=20;

对于全部的数据,保证有n<=100。

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
	int maxx=0;
	int n,a[200],b[200],c[200];
	cin>>n;
	memset(b,0,sizeof(b));
	memset(c,0,sizeof(c));
	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;
	}
	maxx=0;
	for(int i=1;i<=n;i++)
	if(b[i]+c[i]>maxx)
	maxx=b[i]+c[i];
	cout<<n-maxx+1<<endl;
	return 0;
}



版权声明:本文为博主原创文章,欢迎一起讨论,转载请注明出处。

noip2004(提高组) 合唱队形

题目描述   N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。   合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为...
  • Liao_Jingyi
  • Liao_Jingyi
  • 2014年06月28日 16:31
  • 720

【NOIP2004】合唱队形

1058 合唱队形 2004年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Descr...
  • Loi_Shirley
  • Loi_Shirley
  • 2016年09月26日 08:51
  • 712

合唱队形(NOIP)

合唱队形(NOIP) Time Limit:1000MS  Memory Limit:65536K Description N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同...
  • Formiko
  • Formiko
  • 2015年07月05日 11:47
  • 562

codevs 1058 合唱队形(DP)

题目描述 Description N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2...
  • Loi_YZS
  • Loi_YZS
  • 2016年11月01日 15:24
  • 425

2004年分区联赛提高组之三 合唱队形(dp)

2004年分区联赛提高组之三 合唱队形## Description  N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。   合唱队形是指这样的一种队形:...
  • zhanghaoxian1
  • zhanghaoxian1
  • 2017年05月23日 10:38
  • 87

九度OJ 1131 合唱队形 -- 动态规划(最长递增子序列)

题目地址:http://ac.jobdu.com/problem.php?pid=1131 题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能...
  • JDPlus
  • JDPlus
  • 2014年02月09日 11:08
  • 2743

动态规划之合唱队形问题(最长递增子序列变形)

题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。合唱队形定义:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1...
  • hulifangjiayou
  • hulifangjiayou
  • 2015年08月30日 20:08
  • 891

动态规划之合唱队形问题

问题描述:   N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,而不改变其他同学的位置,使得剩下的K位同学排成合唱队形。合唱队形要求:设K位同学从左到右依次编号为1,2…,K,他们的身高分...
  • cy13299138237
  • cy13299138237
  • 2015年12月16日 08:42
  • 1106

NOIP2006提高组:作业调度方案

1156 作业调度方案 2006年NOIP全国联赛提高组题目描述 Description我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成。每个工件的每道工...
  • K_rew
  • K_rew
  • 2015年09月22日 00:24
  • 509

数的计算 2001年NOIP全国联赛普及组

1011 数的计算   2001年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结...
  • zsc2014030403015
  • zsc2014030403015
  • 2015年09月03日 00:16
  • 588
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:合唱队形 2004年NOIP全国联赛提高组
举报原因:
原因补充:

(最多只允许输入30个字)