动态规划 合唱队形 最长递增子序列 变形
发布时间
阅读量:
阅读量
题目描述
共有N位学生排成一行,音乐教师需要让其中的(N-K)位学生离开队列,从而使得剩余的K位学生无需调整位置即可构成合唱队形。
合唱队形的定义为:若将K位学生的身高依次标记为T1, T2, …, TK,从左至右排列,则他们的身高应满足T1 < T2 < … < Ti,同时Ti > Ti+1 > … > TK(其中1 ≤ i ≤ K)。
任务要求:在已知所有N位学生的身高数据的前提下,计算最少需要多少名学生离开队列,才能使剩下的学生形成符合上述条件的合唱队形。
输入
输入的第一行包含一个整数N,表示学生的总人数。
第二行由n个整数组成,以空格分隔,第i个整数Ti代表第i位学生的身高(单位:厘米)。
输出
输出仅包含一行,该行中只有一个整数,即最少需要离开队列的学生人数。
解题思路
设n位学生的身高存储于数组a[n]中(此处数组长度固定为n仅用于便于理解)。
【总体思路
#include <iostream>
#include <stdio.h>
using namespace std;
int inc1[200],inc2[200],a[200];
//inc1-->longest increase array from head to tail
全部评论 (0)
还没有任何评论哟~
