合唱队形 (最长上升子序列 + 最长下降子序列)

该博客介绍了如何解决[NOIP2004 提高组] 合唱队形问题,利用动态规划求解最长上升子序列和最长下降子序列,以确定最少需要几位同学出列,使剩余同学形成合唱队形。博主提供了O(n^2)的解决方案,并强调了dp数组的初始化和填表过程,以及避免使用memset初始化数组的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

已经有:

pow(5,2)+sqrt(9)

天没更新了。
(还是那句话,运行上面程序的时候别忘了cmath头文件呀)
在这里插入图片描述

接下来话不多说,直接上正题:

【题目】

[NOIP2004 提高组] 合唱队形

题目描述

n n n 位同学站成一排,音乐老师要请其中的 n − k n-k nk 位同学出列,使得剩下的 k k k 位同学排成合唱队形。

合唱队形是指这样的一种队形:设 k k k 位同学从左到右依次编号为 1 , 2 , 1,2, 1,2, , k ,k ,k,他们的身高分别为 t 1 , t 2 , t_1,t_2, t1,t2, , t k ,t_k ,tk,则他们的身高满足 t 1 < ⋯ < t i > t i + 1 > t_1< \cdots <t_i>t_{i+1}> t1<<ti>ti+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值