codeves天梯 合唱队形

2024-02-06 19:08
文章标签 天梯 合唱队 codeves

本文主要是介绍codeves天梯 合唱队形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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


分析:题目不难,其实题目就是要满足由中间一名同学为最高两边递减身高的队形,可以理解为跑两次最长不下降序列,这里数据水所以直接用了n方的最长不下降(其实用nlogn就快得飞起==)。


constmaxn=100;varn,i,j,max:longint;a,f,v:array[1..maxn] of longint;beginreadln(n);for i:=1 to n doread(a[i]);f[1]:=1;for i:=2 to n dobeginmax:=1;for j:=1 to i-1 doif (a[j]<a[i]) and (f[j]+1>max) thenmax:=f[j]+1;f[i]:=max;end;v[n]:=1;for i:=n-1 downto 1 dobeginmax:=1;for j:=i+1 to n doif (a[j]<a[i]) and (v[j]+1>max) thenmax:=v[j]+1;v[i]:=max;end;max:=0;for i:=1 to n doif f[i]+v[i]>max thenmax:=f[i]+v[i];writeln(n-max+1);
end.

这篇关于codeves天梯 合唱队形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685255

相关文章

显卡天梯图(2024年9月版),游戏性能/生产力性能榜单

​原文地址(高清无水印原图/持续更新/含榜单出处链接): >>> 2024年9月显卡天梯图 <<< 2024年9月4日更新日志:更新所有显卡天梯图至9月/最新数据;移除Technical显卡榜单;新增OpenCL显卡性能榜单(含专业卡、计算卡、车机等)。 2024年8月2日更新日志:更新并拓展3DMark显卡榜单长度至150位;更新并拓展Technical显卡榜单至139位;

[Algorithm][综合训练][体育课测验(二)][合唱队形][宵暗的妖怪]详细讲解

目录 1.体育课测验(二)1.题目链接2.算法原理详解 && 代码实现 2.合唱队形1.题目链接2.算法原理详解 && 代码实现 3.宵暗的妖怪1.题目链接2.算法原理详解 && 代码实现 1.体育课测验(二) 1.题目链接 体育课测验(二) 2.算法原理详解 && 代码实现 说明:单纯积累一题[拓扑排序]用于加强印象 能识别模型,并且写出代码 vector<i

九度OJ-1131:合唱队形(最长递增子序列)

本题可以以“求最长递增子序列长度”为模板。 问题抽象:即求最长合唱子序列长度。所谓“合唱子序列”,即:该子序列满足 T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1 <= i <= K).(凸函数图像) 算法分析:正向求一次LIS存dp[],反向求一次LIS存dpR[]。然后dp[j]+dpR[j]-1即为最长合唱子序列长度。 题目描述:

九度1131_合唱队形【LIS】【LCS】

题目1131:合唱队形 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1706 解决:529 题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK, 则他们的身高满足T1 <

PTA-天梯计划-比较大小

L1-010 比较大小 (10分) 本题要求将输入的任意3个整数从小到大输出。 输入格式: 输入在一行中给出3个整数,其间以空格分隔。 输出格式: 在一行中将3个整数从小到大输出,其间以“->”相连。 输入样例: 4 2 8 输出样例: 2->4->8 用了最笨的方法。。 不知道为什么有一项不正确。。。? #include<iostream>using namespace std;

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

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

pta 天梯赛 7-2 装箱问题 (20 分)day6

假设有N项物品,大小分别为s1​​ 、s​2 、…、si 、…、s​N,其中s​i为满足1≤s​i≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。 输入格式: 输入第一行给出物品个数N(≤1000

pta 天梯赛 7-9 有理数加法 (15 分)day8-1

本题要求编写程序,计算两个有理数的和。 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。 输出格式: 在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。 输入样例1: 1/3 1/6 输出样例1: 1/2 输入样例2: 4/3 2/3 输出样例2: 2 #in

pta 天梯赛 7-8 找出总分最高的学生 (15 分)day8-1

给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。 输入格式: 输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。 输出格式: 在一行中输出总分最高学生的姓名、学号和

pta 天梯赛 7-7 计算职工工资 (15 分)day8-1

给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。 输入格式: 输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。 输出格式: 按照输入顺序,每行