OpenJ_Bailian - 2711

N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。
合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1 <= i <= K)。
你的任务是,已知所有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

动态规划解题

我的小学生思路:
先用求最长上升子序列的思路,分别dp两次求从序列头分别到每个数的最长上升子序列盒每个数到序列尾的最长下降子序列(其实就是从尾向前看的最长上升子序列),把他们存进数组
然后遍历数组dpu和dpd,算出如果以某个数为最高身高,需要请几个人出队,然后输出最小的即可。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;int main()
{int n,m,a[101],dpu[101],dpd[101],up,down,minn;scanf("%d",&n);minn=100;for(int i=0;i<n;i++){scanf("%d",&a[i]);}for(int i=0;i<101;i++)dpu[i]=dpd[i]=1;for(int j=0;j<n;j++){up=down=1;for(int k = 0;k <= j; k++){if(a[j]>a[k]){dpu[j]=max(dpu[k]+1,dpu[j]);}}}for(int j=n-1;j>=0;j--){for(int p=n-1;p>=j;p--){if(a[j]>a[p]){dpd[j]=max(dpd[j],dpd[p]+1);}}}for(int i=0;i<n;i++){m=n-dpd[i]-dpu[i]+1;if(minn>m)minn=m;}printf("%d",minn);return 0;
}

OpenJ_Bailian - 2711相关推荐

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

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

  2. OpenJ_Bailian 2748

    题目链接:OpenJ_Bailian 2748 给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列. 我们假设对于小写字母有'a' < 'b' < - < 'y' &l ...

  3. OpenJ_Bailian - 1088:滑雪

    OpenJ_Bailian - 1088: Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你. ...

  4. OpenJ_Bailian - 3468

    题目链接:OpenJ_Bailian - 3468 一开始,我以为只有3和5两个电池,看了别的题面发现理解错了,电池电量是随机的,而不是固定的3和5. 思路:设最大电池电量为 maxmaxmax ,其 ...

  5. DNA Sorting(OpenJ_Bailian - 1007)

    B - DNA Sorting 来源: OpenJ_Bailian - 1007 Time limit:1000 ms           Memory limit:65536 kB OS:Linux ...

  6. 海景房 OpenJ_Bailian - 2945 JAVA

    F - 海景房 OpenJ_Bailian - 2945 开发商计划在海边建造许多海景房的楼房,工程师发现在设计图中由于某些靠海的楼太高,导致有些稍远的楼房即使站在楼顶也不能看到海.开发商和工程师就在 ...

  7. 上周热点回顾(10.27-11.2)

    热点随笔: · 我在阿里这仨月(Barret Lee) · 一个前快播员工眼中的快播(虫师) · [看后请推荐]程序员接私单不传秘籍之二:单子从哪儿来?(thanksmoons) · 淘宝code-- ...

  8. OpenJ_Bailian 4148 生理周期

    题目地址: https://vjudge.net/problem/OpenJ_Bailian-4148 人生来就有三个生理周期,分别为体力周期.感情周期和智力周期,它们的周期长度分别为23天.28天和 ...

  9. poj/OpenJ_Bailian - 2528 离散化+线段树

    传送门:http://bailian.openjudge.cn/practice/2528?lang=en_US //http://poj.org/problem?id=2528 题意: 给你n长海报 ...

最新文章

  1. python开发桌面软件-python适合windows的桌面应用程序开发吗?
  2. java序列化 jar_使用序列化将对象传递给另一个JVM – 相同的Java版本和jar(都运行我们的应用程序)...
  3. html中空格字符实体整理
  4. (五)HTML5本地存储——Web Storage
  5. layui 折叠面板使用无效问题
  6. 【Spark大数据处理】动手写WordCount
  7. spine骨骼动画基础一文通
  8. VS2017内使用Coin3d第三方库的配置方法(含库与案例)
  9. 管理者如何对待员工反馈
  10. latex补集怎么打
  11. 参考文献起止页码怎么写_【求助】有全文参考文献但没有起止页码如何办
  12. 2022年docker面试题大全(持续更新中)
  13. 5.21 ticker的使用
  14. 拓嘉启远电商:拼多多直通车烧钱太多的原因
  15. Tex, LaTex, pdflatex, xelatex, xetex等的区别和关系
  16. Wap 手机上网设置
  17. 各串口设备节点/dev/tty* 的区别
  18. 04-再探JavaScript
  19. 2020 蓝桥杯大学 B 组省赛模拟赛 七巧板
  20. ifunbox_如何使用iFunBox作为强大的iTunes替代产品

热门文章

  1. Linux下 Yum 是什么
  2. 程序员显示器怎么设置成竖屏
  3. 那个英雄辈出的年代——《资治通鉴》等历史札记有感2000字
  4. When you are old - 当你老去时(译)
  5. 微信公众号文章链接正则校验
  6. 百度搜索引擎结果网址参数键盘重复速度(rsv_sug3)
  7. 百度搜索引擎结果网址参数_反馈搜索结果用时(rsv_sug4)
  8. VUE仿知乎网站(三)首页主体部分开发
  9. 空气净化器对比测试PM2.5去除效果显著
  10. 互联网医疗仅剩的平台型超级独角兽,微医如何冲出重围?