合唱队形(NOIP原题)

洛谷——P1091 [NOIP2004 提高组] 合唱队形 本题为一道线性DP练习题,难度为普及/提高− 阅读详情
/*
【2005年提高组3】合唱队形
http://mail.bashu.cn:8080/JudgeOnline/showproblem?problem_id=1001
Time Limit:1000MS  Memory Limit:65536K
Total Submit:447 Accepted:205 
Case Time Limit:500MS 

Description 

N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 
合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,  则他们的身高满足存在i(1<=i<=K)使得Ti<T2<......<Ti-1<Ti>Ti+1>......>TK。 
    你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。 


Input 

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


Output 

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

Sample Input 


8
186 186 150 200 160 130 197 220


Sample Output 


4

Hint 

数据规模 
对于50%的数据,保证有n<=20; 
对于全部的数据,保证有n<=100。 


Source 

NOIP2004

*/
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>

#define MAX 101

int main(void)
{
  
int a[MAX]={0},b[MAX]={0},c[MAX]={0} ;
  
int i,j,k,n,max;
  scanf(
"%d",&n) ;
  
for(i=1 ; i<= n ; i++)
  scanf(
"%d",&c[i]);
  
  
for(i=1 ; i<= n ; i++)
  {
    
for(j=1,k=0 ; j< i ; j++)
    
if (c[j] < c[i] && a[j] > k)
    k 
= a[j] ;
    a[i] 
= k+1 ;
  }
  
  
for(i=n ; i>= 1 ; i--)
  {
     
for(j=n,k=0; j> i ; j--)  
     
if ( c[i] > c[j] && b[j] > k)
     k 
= b[j] ;
     b[i] 
= k+1 ;
  }
  max 
= 0 ;
  
for(i=1 ; i<= n; i++)
  
if ( (k=a[i] + b[i]) > max )
  max 
= k ;
  
  printf(
"%d ",n-max+1);
  
return 0 ;
}
 
【题解】「NOIP2004」合唱队形(DP,最长不下降子序列) 题面 【题目描述】 NNN位同学站成一排,音乐老师要请其中的(N−K)(N-K)(N−K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K1,2…,K1,2…,K,他们的身高分别为T1,T2,…,TKT_1,T_2,…,T_KT1​,T2​,…,TK​, 则他们的身高满足T1<...<Ti>Ti+1>…... 阅读详情

相关推荐

[NOIP2004]合唱队形【动态规划】

【问题描述】     N位同学站成一排,音 乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。     合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,  则他们的身高满足T1…>TK(1。     你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。 【输入文件】

Tag_king的专栏 786

74-合唱队形(蓝桥杯)

博主备考练习题

月亮被咬碎成星星的博客 328

Changer: Feature Interaction Is What You Need forChange Detection

还有“交换“交互是一种完全不需要参数和计算的操作,它是通过交换空间或通道维度上的双时态特征映射来实现的,交换的特征在经过后续的卷积或令牌混合时进行混合。方法二:提出了两种简单的交互策略,AD和特征“交换”,大量的实验表明,它们可以极大地提高MetaChanger的性能,特别是特征“交换”,即使嵌入到复杂的网络中或应用于具有挑战性的数据集。在这里,我们用虚线勾勒本文的重点。这是变化检测任务的基本问题,双时相图像提供了同一地区在不同时间点的图像数据,通过对比这两个时间点的图像,我们可以检测出该地区的变化。

yokon的博客 1619

华为笔试-超简单看懂合唱队问题

合唱队 问题描述: 计算最少出列多少位同学,使得剩下的同学排成合唱队形。 说明: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位 同学排成合唱队形。 合唱队形是指这样的一种队形: 设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1<=i<=K) 使得T1<T2<......

feengg的博客 4800

【达梦8】多实例监视集群的部署测试

确认监视器具有状态确认和自动接管两个功能。在数据守护系统的故障自动切换模式下,必须部署一个确认监视器,否则在出现数据库故障时,会导致数据库服务中断。DM 提供了两种确认监视器的配置形式,分别为单实例和多实例。但是当单实例确认监视器故障时,无法继续进行集群的故障自动接管和备库故障确认,影响正常使用,故提供了多实例确认监控器来进一步提高集群的高可用性。在多实例确认监视器中,只有一个实例作为确认监视器提供服务,其它实例作为备库存在而不提供服务。

weixin_45335507的博客 1674

保姆级教程:在mmdetection中手动计算并可视化P、R、F1值(附完整代码)

本文提供了一份详细的mmdetection教程,指导开发者如何手动计算并可视化精确率(P)、召回率(R)和F1值。通过完整的代码示例和清晰的步骤说明,帮助用户深入理解目标检测模型的性能评估方法,特别适合需要精细分析模型表现的计算机视觉研究人员和工程师。

weixin_29038303的博客 398

C/C++百题打卡[5/100]——合唱队形

关键字:C/C++算法学习、百题打卡[5/100]——合唱队形【中等】⭐️⭐️⭐️⭐️、数组、动态规划

Wang_Dou_Dou_的博客 3439

手机刷双系统

刷机教程(https://www.geekeyes.cn/forum.php/forum.php?mod=viewthread&amp;tid=492) 解锁教程(http://www.gioov.com/index.php/1386)   解锁教程 cmd下 进入adb目录( 如果环境变量配置了adb 可以直接在cmd 下输入命令) 手机连接电脑,确保usb 调试打开,然后手机连接电脑,...

超宇的博客 1万+

九度OJ 题目1131:合唱队形

 一.题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。  合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,  则他们的身高满足T1 Ti+1 > … > TK (1  你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得

lhyer的专栏 2105

论文学习:Towards Automated Infographic Design:Deep Learning-based Auto-generation of Extensible Timeline

title: “Towards Automated Infographic Design:Deep Learning-based Auto-generation of Extensible Timeline” tags: [“论文评述”, “报告”] date: 2019-08-22 author: 叶慧 mathjax: true 论文:Towards Automated Infograph...

xiaoyehahaha的博客 731

避开SM30维护视图的坑:自动更新字段+日志记录的5个关键配置步骤

本文深入解析了SAP ABAP开发中SM30维护视图的深度定制,聚焦于实现自动更新字段与日志记录功能。文章详细阐述了从SE54配置起点到核心编码的5个关键步骤,重点讲解了如何利用事件驱动模型(如05创建事件和01保存前事件)安全操作动态数据结构,并提供了避免常见陷阱的实用技巧,帮助开发者构建稳定可靠的自动化维护机制。

plant的博客 621

NOIP2004合唱队列(提高组T3)————单调队列,动态规划(最长上升序列,最长下降序列)

题解:本题主要考查单调队列,动态规划(最长上升序列,最长下降序列)。这个序列是一个中间高,两头底的序列,先解决从T1到Ti这一段单调递增的序列,再解决Ti到TK这一段单调递减的序列(注意数值的更新)。 代码如下: #include&lt;iostream&gt; #include&lt;algorithm&gt; using namespace std; int q(int x); int n,i...

wly1127的博客 559

诊断测试工具CANoe.DiVa从入门到精通系列——开门见山

### 工具主要用于测试ECU的诊断功能。关于自动化诊断测试可以分为如下内容: ### -> 1、根据诊断需求规范进行cdd文件的编辑(现阶段主要是诊断问卷调查表); ### -> 2、新建Diva工程,导入对应的诊断数据库文件生成测试用例; ### -> 3、新建CANoe工程,导入CANoe.DiVa生成的Diva工程; ### -> 4、根据测试报告进行错误处理。

Soly_kun的博客 3544

P1091 [NOIP2004 提高组] 合唱队形 题解

P1091 [NOIP2004 提高组] 合唱队形 题解

yaosichengalpha的博客 965

Oracle EBS Interface/API(29) - AP发票API

续上编文章《Oracle EBS Interface/API(28) - 客制化开发AP付款API》背景,介绍如调用官方提供标准AP发票API调用 用户界面 Invoices(Payables Manager->Invoices->Entry->Invoices) Open Interface Invoices(Payables Manager->Invoices->Entry->Open Interface Invoices) 快速参考 参考点 内容.

陈显平的专栏-Oracle EBS 1150

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[NOIP2004 提高组] 合唱队形-题解

有了思路,剩下的就好做了,上代码。

m0_67262244的博客 700

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

[NOIP2004 提高组]合唱队形 题目详解

𝑛 位同学站成一排,音乐老师要请其中的 𝑛−𝑘 位同学出列,使得剩下的 𝑘 位同学排成合唱队形。合唱队形是指这样的一种队形:设 𝑘 位同学从左到右依次编号为 1,2,1,2, … ,𝑘,他们的身高分别为 𝑡1,𝑡2,t1​,t2​, … ,𝑡𝑘,则他们的身高满足 𝑡1 … >𝑡𝑘(1≤𝑖≤𝑘)。你的任务是,已知所有 𝑛 位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

kamlam96的博客 1458

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【NOIP】合唱队形

【NOIP】合唱队形 题目 题目描述 N位同学站成一排,音乐老师要请其中的(N−K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为T_1,T_2,…,T_KT 1​ ,T 2​ ,…,T ​ , 则他们的身高满足T_1<…<T_i>T_{i+1}>…>T_K​ (1≤i...

A793488316的博客 1702

【动态规划、dp】P1091 [NOIP2004 提高组] 合唱队形 题解

动态规划解决NOIP题目

guozhetao的博客 1155

[NOIP2004 提高组] 合唱队形(含代码)

n位同学站成一排,音乐老师要请其中的n−k位同学出列,使得剩下的k位同学排成合唱队形。合唱队形是指这样的一种队形:设k位同学从左到右依次编号为12k,他们的身高分别为t1​t2​tk​,则他们的身高满足t1​⋯ti​ti1​tk​1≤i≤k。你的任务是,已知所有n位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

华仔的博客 659

【NOIP提高组】合唱队形

N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1…>TK(1

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 8602

合唱队形

§缘 [NOIP2004]合唱队形 题目描述:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。

C20191618的博客 1593

P1091 [NOIP 2004 提高组] 合唱队形 (动态规划,最长上升子序列,最长下降子序列)

洛谷p1091 题解

2403_87530627的博客 994

洛谷P1091 [NOIP 2004 提高组] 合唱队形

洛谷P1091合唱队形问题要求从n位同学中选出k位,使其身高呈现先严格递增后严格递减的单峰结构。解题思路是枚举每个可能的峰值点i,分别计算其左侧的最长上升子序列和右侧的最长下降子序列,确定最少需要移除的同学数量。使用动态规划方法实现,时间复杂度为O(n²),对于n≤100的数据规模完全可行。代码示例展示了如何正反遍历数组计算前后缀子序列,并找出最优解。

yjfyjfyjf54188的博客 1067

信息学奥赛一本通 1264:【例9.8】合唱队形 | 1837:【04NOIP提高组】合唱队形 | OpenJudge 百练 2711 | 洛谷 P1091 [NOIP2004 提高组] 合唱队形

【题目链接】 ybt 1264:【例9.8】合唱队形 ybt 1837:【04NOIP提高组】合唱队形 OpenJudge 百练 2711:合唱队形 洛谷 P1091 [NOIP2004 提高组] 合唱队形 【题目考点】 1. 动态规划:线性动规 求最长上升子序列 求最长下降子序列 【解题思路】 合唱队形中,站在C位(最中间)的人应该是最高的,设选择的人为iii。这个人左侧的人的身高应该是一个上升序列,右侧的人的身高应该是一个下降序列,左右侧人的身高都不应该高于tit_iti​。为了使出列的人最少,第i

君义NOIP的博客 3730
上一篇: 采药问题(NOIP竞赛原题)
下一篇: 排队打水问题
oopos
博客等级 码龄19年 21粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值