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

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

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

输入格式

输入的第一行是一个整数 NN,表示同学的总数。

第二行有 NN 个整数,用空格分隔,第 ii 个整数 TiTi 是第 ii 位同学的身高(厘米)。

输出格式

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

数据范围

2≤N≤1002≤N≤100,
130≤Ti≤230130≤Ti≤230

输入样例:

8
186 186 150 200 160 130 197 220

输出样例:

4

思路:最长上升子序列+最长下降子序列

#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;int n;
int h[110];
int f[110], ff[110];int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>h[i];f[i] = 1;ff[i] = 1;}for(int i=1;i<=n;i++)for(int j=1;j<i;j++)if(h[i]>h[j]) f[i] = max(f[i],f[j]+1);for(int i=n;i>=1;i--)for(int j=n;j>i;j--)if(h[i]>h[j])    ff[i] = max(ff[i],ff[j]+1);int ans = 0x3f3f3f3f;for(int i=1;i<=n;i++)ans = min(ans,n-f[i]-ff[i]+1);cout<<ans;return 0;
}

合唱队形——线性dp相关推荐

  1. P1091 合唱队形[单调性+DP]

    题目来源:洛谷 题目描述 N位同学站成一排,音乐老师要请其中的(N−K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,-,K,他们的身高 ...

  2. 【OpenJ_Bailian - 2711 】 合唱队形(dp,枚举中间顶点)

    题干: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形.  合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, -, K,他们的 ...

  3. 【动态规划刷题笔记】线性dp:合唱队形(最长递增子序列的变体)

    [NOIP2004 提高组] 合唱队形 - 洛谷 思路:最少出列,即挑出最多,即找最长递增子序列和最长递减子序列 设dp1[i]为以h[i]结尾的最长递增子序列 dp2[i]为以h[i]开头的最长递减 ...

  4. UOJ #214 合唱队形 (概率期望计数、DP、Min-Max容斥)

    UOJ #214 合唱队形 (概率期望计数.DP.Min-Max容斥) 9个月的心头大恨终于切掉了!!!! 非常好的一道题,不知为何uoj上被点了70个差评. 题目链接: http://uoj.ac/ ...

  5. tyvj 1067 合唱队形 dp LIS

    P1067 合唱队形 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2004 提高组 第三道 描述 N位同学站成一排,音乐老师要请其中的(N-K)位 ...

  6. 【DP】合唱队形(jzoj 1122)

    合唱队形 jzoj 1122 题目大意: 有n个人,按一定的顺序站成一排,最少减去多少个人可以使队列以一个人为中心,两边分别递减 输入样例 8 186 186 150 200 160 130 197 ...

  7. 动态规划 —— 线性 DP

    [概述] 线性动态规划,是较常见的一类动态规划问题,其是在线性结构上进行状态转移,这类问题不像背包问题.区间DP等有固定的模板. 线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式 ...

  8. 合唱队形(递增再递减的最长子序列)

    题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, -, K,他们的 ...

  9. P1091 合唱队形(LIS)

    题目描述 NNN位同学站成一排,音乐老师要请其中的(N−KN-KN−K)位同学出列,使得剩下的KKK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,-,K1,2, ...

  10. LuoGU 线性DP

    P1091 合唱队形 看一下题解吧,你好i需要正反搜一下lcs ,然后合并 #include<bits/stdc++.h> using namespace std; #define LOA ...

最新文章

  1. python中json模块博客园_Python中的Json模块详解
  2. 通过批处理文件自动安装apk到手机
  3. 伟大:看谷歌如何造福人类健康事业
  4. 2、Keepalived提供日志与双主模型演示
  5. Visual Studio提示——DebuggerDisplay
  6. 暴风影音官网、App 挂了;工信部总结“携号转网”试运行情况;Zorin OS 15 Lite 发布 | 极客头条...
  7. CDR X8快速绘制八瓣花教程
  8. 『IT视界』 [互联网]联想裁员千人不影响国内业务 每年节约2.5亿
  9. 【计算机基础】五笔字根分解图
  10. 生物信息学习——tophat使用手册
  11. 视频分割合并软件哪个好用:试试Fast Video Cutter Joiner吧
  12. 关于JS如何实现图片闪烁
  13. SDN:mininet交换机流表操作
  14. UFT 12 – Top 5 New Features you are going to Love
  15. UEFI and legacy
  16. 如何搭建真正能洞悉数据的领导驾驶舱
  17. ROC受试曲线AUC[TPR/ FPR/截断点/StratifiedKFold/KFold]
  18. 数据结构的基本概念习题
  19. C语言 最大公约数三种方法
  20. 关于驰骋工作流引擎的批处理设计与实现

热门文章

  1. 使用opencv和双目摄像头制作裸眼3d视频
  2. 微信Mac版客户端(支持查看朋友圈)
  3. html外链怎么做,外链铺广之路如何走?外链实操战术整理
  4. CHM 打开时提示 已取消到该网页的导航
  5. betterscroll的使用
  6. 很多人看都哭了,不信你不哭
  7. java7723魂斗罗2_魂斗罗3代-完全版
  8. 网页端调用客户端的cs 程序
  9. Connection closed by foreign host
  10. Delphi/Pascaldelphi盒子