合唱队形(LIS)

2023-05-16

描述

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

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

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

格式

输入格式

输入的第一行是一个整数N(2<=N<=100),表示同学的总数。第一行有n个整数,用空格分隔,第i个整数Ti(130<=Ti<=230)是第i位同学的身高(厘米)。

输出格式

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

样例1

样例输入1

8
186 186 150 200 160 130 197 220

  
  
Copy

样例输出1

4

  
  
Copy

限制

每个测试点1s

//dp[i] 代表以i为结尾的最长上升子序列个数
#include <stdio.h>
#include <cstring>
#include <string>
#include <cstdlib>
#define max(x,y)x>y?x:y;
int main()
{
    int A[105];


    int dp[105];
    int fdp[105];
    memset(dp,0,sizeof(dp));
    memset(fdp,0,sizeof(fdp));
    int n;
    scanf("%d",&n);

    for(int i=1;i<=n;++i)
        scanf("%d",&A[i]);
    dp[1]=1;
    int mx=-1;
    for(int i=2;i<=n;++i){
        dp[i]=1;
        for(int j=i-1;j>=1;--j){

            if(A[i]>A[j]){
                dp[i]=max(dp[j]+1,dp[i]);
            }
        }

    }

    fdp[n]=1;
    for(int i=n-1;i>=1;--i){
        fdp[i]=1;
        for(int j=i+1;j<=n;++j){

            if(A[i]>A[j]){
                fdp[i]=max(fdp[j]+1,fdp[i]);
            }
        }

    }





//
//    for(int i=1;i<=n;++i){
//        printf("%d ",dp[i]);
//    }
//    printf("\n");
//
//    for(int i=1;i<=n;++i){
//        printf("%d ",fdp[i]);
//    }
//    printf("\n");


    for(int i=2;i<=n-1;++i){
        mx = max(dp[i]+fdp[i],mx);
    }
    mx--;

    printf("%d\n",n-mx);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合唱队形(LIS) 的相关文章

  • 旋转数组的最小数字

    时间限制 xff1a 3秒 空间限制 xff1a 32768K 热度指数 xff1a 162501 本题知识点 xff1a 查找 算法知识视频讲解 题目描述 把一个数组最开始的若干个元素搬到数组的末尾 xff0c 我们称之为数组的旋转 输入
  • 变态的台阶

    时间限制 xff1a 1秒 空间限制 xff1a 32768K 热度指数 xff1a 98625 算法知识视频讲解 题目描述 一只青蛙一次可以跳上1级台阶 xff0c 也可以跳上2级 它也可以跳上n级 求该青蛙跳上一个n级的台阶总共有多少种
  • 解决xterm显示远程窗口出现“Can't open display: localhost:11.0”的问题

    参考 xff1a http unix stackexchange com questions 117159 cannot start xterm over ssh after several successes 问题描述 xff1a 远程调
  • 数值的整数次方

    时间限制 xff1a 1秒 空间限制 xff1a 32768K 热度指数 xff1a 117073 算法知识视频讲解 题目描述 给定一个double类型的浮点数base和int类型的整数exponent 求base的exponent次方 笔
  • 机器人走方格I

    链接 xff1a https www nowcoder com questionTerminal e8bb8e68434e42acbcdff0341f2a32c5 orderByHotValue 61 1 amp mutiTagIds 61
  • 年终奖

    链接 xff1a https www nowcoder com questionTerminal 72a99e28381a407991f2c96d8cb238ab orderByHotValue 61 1 amp mutiTagIds 61
  • 最近公共祖先

    链接 xff1a https www nowcoder com questionTerminal 70e00e490b454006976c1fdf47f155d9 orderByHotValue 61 1 amp mutiTagIds 61
  • 直方图内最大矩形

    有一个直方图 xff0c 用一个整数数组表示 xff0c 其中每列的宽度为1 xff0c 求所给直方图包含的最大矩形面积 比如 xff0c 对于直方图 2 7 9 4 它所包含的最大矩形的面积为14 即 7 9 包涵的7x2的矩形 给定一个
  • 罪犯转移

    题目描述 C市现在要转移一批罪犯到D市 xff0c C市有n名罪犯 xff0c 按照入狱时间有顺序 xff0c 另外每个罪犯有一个罪行值 xff0c 值越大罪越重 现在为了方便管理 xff0c 市长决定转移入狱时间连续的c名犯人 xff0c
  • 路灯

    一条长l的笔直的街道上有n个路灯 xff0c 若这条街的起点为0 xff0c 终点为l xff0c 第i个路灯坐标为a i xff0c 每盏灯可以覆盖到的最远距离为d xff0c 为了照明需求 xff0c 所有灯的灯光必须覆盖整条街 xff
  • 哈希表

    哈希表 概念 哈希表 Hash Table 也叫散列表 xff0c 是根据关键码值 xff08 Key Value xff09 而直接进行访问的数据结构 它通过把关键码值映射到哈希表中的一个位置来访问记录 xff0c 以加快查找的速度 这个
  • 哈夫曼树

    概念 哈夫曼树是一种带权路径长度最短的二叉树 xff0c 也称为最优二叉树 下面用一幅图来说明 它们的带权路径长度分别为 xff1a 图a xff1a WPL 61 5 2 43 7 2 43 2 2 43 13 2 61 54 图b xf
  • tomcat配置问题导致IDEA报错

    总结一下遇到的问题 xff1a 1 tomcat的startup闪退 xff1a 解决办法 xff1a 1 环境变量配置不能错 2 端口错误这个是新手特别超级容易犯的错误 xff0c 在装tomcat的时候经常一顿next安装了 xff0c
  • 递归转动态规划套路总结

    来自左神的教导总结 1 确定递归函数意义 2 确定大小范围 xff0c 设计表 3 确定递归终止状态 xff0c 填表边界 xff08 自底向上时 xff1a 从结尾填表 xff1b 自顶向下时 xff0c 跟踪递归流程填表 xff09 例
  • 最长公共子串

    对于两个字符串 xff0c 请设计一个时间复杂度为O m n 的算法 这里的m和n为两串的长度 xff0c 求出两串的最长公共子串的长度 这里的最长公共子串的定义为两个序列U1 U2 Un和V1 V2 Vn xff0c 其中Ui 43 1
  • JAVA虚拟机加载类到运行过程总结

    理解Java跨平台运行原理 java之所以可以跨平台是因为编译器并没有把源码文件直接编译成机器指令 xff0c 而是编译成java虚拟机可以识别和运行的字节码文件 java gt class 而字节码文件是一种无关平台的中间编译结果 xff
  • 硬币表示

    有数量不限的硬币 xff0c 币值为25分 10分 5分和1分 xff0c 请编写代码计算n分有几种表示法 给定一个int n xff0c 请返回n分有几种表示法 保证n小于等于100000 xff0c 为了防止溢出 xff0c 请将答案M
  • 最长公共子序列

    我们有两个字符串m和n xff0c 如果它们的子串a和b内容相同 xff0c 则称a和b是m和n的公共子序列 子串中的字符不一定在原字符串中连续 例如字符串 abcfbc 和 abfcab xff0c 其中 abc 同时出现在两个字符串中
  • 完全二叉树的特点

    定义 完全二叉树是由满二叉树而引出来的 对于深度为K的 xff0c 有n个结点的二叉树 xff0c 当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树 一棵二叉树至多只有最下面的一层上的结点的度数可以小
  • 数据库事务的四大特性与隔离级别及测试

    四大特性 原子性 xff08 Atomicity xff09 原子性是指事务包含的所有操作要么全部成功 xff0c 要么全部失败回滚 xff0c 这和前面两篇博客介绍事务的功能是一样的概念 xff0c 因此事务的操作如果成功就必须要完全应用

随机推荐

  • Integer与int的比较

    原文 xff1a http blog csdn net yang5726685 article details 54572938 locationNum 61 2 amp fps 61 1 Integer与int的比较 Java是一个近乎纯
  • 装箱问题

    01背包 span class hljs keyword for span int span class hljs built in i span 61 span class hljs number 0 span span class hl
  • 采药

    01背包 Problem Description 辰辰是个天资聪颖的孩子 xff0c 他的梦想是成为世界上最伟大的医师 为此 xff0c 他想拜附近最有威望的医师为师 医师为了判断他的资质 xff0c 给他出了一个难题 医师把他带到一个到处
  • 解决OpenCV在Python中无法使用cv2.face的问题

    1 包不完整 只用pip install opencv python 装的依赖之后第二个 xff0c 这样里边没有face模块 xff0c 需要装第一个依赖才行 pip install opencv contrib python 2 包完整
  • 生日礼物

    01背包 Problem Description 一对双胞胎兄妹同一天过生日 xff0c 这一天 xff0c 他们的朋友给他俩送来了礼物 xff0c 每个人送的礼物都是2本书 xff0c 一本给哥哥 xff0c 一本给妹妹 xff0c 但没
  • 砝码称重

    多重背包 Problem Description 设有1g 2g 3g 5g 10g 20g的砝码各若干枚 xff08 其总重 lt 61 1000 xff09 xff0c 要求 xff1a 输入方式 xff1a a1 a2 a3 a4 a
  • Piggy-Bank

    完全背包 Problem Description Before ACM can do anything a budget must be prepared and the necessary financial support obtain
  • Edit Distance(LeetCode)

    Given two words word1 and word2 find the minimum number of steps required to convert word1 to word2 each operation is co
  • OSI,TCP/IP,五层协议的体系结构,以及各层协议简介

    OSI分层 xff08 7层 xff09 xff1a 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 TCP IP分层 xff08 4层 xff09 xff1a 网络接口层 网际层 运输层 应用层 五层协议 xff08 5层 x
  • IP地址的分类,及子网掩码,网络号,主机号

    A类地址 xff1a 以0开头 xff0c 第一个字节范围 xff1a 1 127 xff08 1 0 0 0 127 255 255 255 xff09 xff1b B类地址 xff1a 以10开头 xff0c 第一个字节范围 xff1a
  • 了解集线器,调制解调器,交换机、路由器、网关的概念,并知道各自的用途

    集线器 集线器是对网络进行集中管理的重要工具 xff0c 像树的主干一样 xff0c 它是各分支的汇集点 xff0c 它的实质是一个中继器 xff0c 而中继器的主要功能是对接收到的信息进行再生放大 xff0c 以扩大网络的传输距离 简单点
  • 并查集

    并查集作用 xff1a 1 判断两节点是否联通 2 连接两个节点 xff0c 使之联通 并查集数据结构 xff1a 多路树结构 例 xff1a 存储结构 xff1a 数组模拟 xff1a 设数组为pre i i为当前节点 xff0c pre
  • 袋鼠过河

    一只袋鼠要从河这边跳到河对岸 xff0c 河很宽 xff0c 但是河中间打了很多桩子 xff0c 每隔一米就有一个 xff0c 每个桩子上都有一个弹簧 xff0c 袋鼠跳到弹簧上就可以跳的更远 每个弹簧力量不同 xff0c 用一个数字代表它
  • 最短路径算法(Dijkstra)

    一 前言 最短路径算法 xff0c 顾名思义就是求解某点到某点的最短的距离 消耗 费用等等 xff0c 有各种各样的描述 xff0c 在地图上看 xff0c 可以说是图上一个地点到达另外一个地点的最短的距离 比方说 xff0c 我们把地图上
  • linux安装nodejs【详细教程】

    一 下载node包 先看一下官网 https nodejs org en download 下载 Node js 中文网 nodejs cn 二 将node包放到linux上 1 解压 xff1a tar xvf node v14 15 1
  • 红明谷杯-SMU

    2021红明谷杯安全意识赛 一 单项选择题 1 以下不属于采用密码技术对数据本身进行保护的是 xff08 xff09 A 防火墙技术 B 使用现代加密算法对数据进行加密以获得机密性 C 采用数字签名算法确保数据源的可靠性 D 采用杂凑算法和
  • tcp窗口滑动以及拥塞控制

    转自 xff1a http blog chinaunix net uid 26275986 id 4109679 html TCP协议作为一个可靠的面向流的传输协议 xff0c 其可靠性和流量控制由滑动窗口协议保证 xff0c 而拥塞控制则
  • 小胖的水果(lcs)

    描述 xuzhenyi到大同水果店去买水果 xff0c 但老板huyichen告诉他每次只能买一种 xff0c 但是xuzhenyi想吃两种 xff0c 于是在讨价还价之后 xff0c huyichen说只要xuzhenyi能把他想要的两种
  • 神秘的咒语(Lcis)

    描述 身为拜月教的高级间谍 xff0c 你的任务总是逼迫你出生入死 比如这一次 xff0c 拜月教主就派你跟踪赵灵儿一行 xff0c 潜入试炼窟底 据说试炼窟底藏着五行法术的最高法术 xff1a 风神 xff0c 雷神 xff0c 雪妖 x
  • 合唱队形(LIS)

    描述 N位同学站成一排 xff0c 音乐老师要请其中的 N K 位同学出列 xff0c 使得剩下的K位同学排成合唱队形 合唱队形是指这样的一种队形 xff1a 设K位同学从左到右依次编号为1 xff0c 2 xff0c K xff0c 他们