POJ 1836 - Alignment(最长递增子序列)

手把手教你用Keil C51插件搞定赛元SC92F73A3单片机IO口配置(附避坑指南) 本文详细介绍了如何使用Keil C51插件配置赛元SC92F73A3单片机的IO口,包括环境搭建、寄存器解析、实战配置及常见问题排查。通过具体代码示例和避坑指南,帮助开发者高效完成51单片机开发,特别适合初学者快速上手赛元MCU的IO口初始化。 阅读详情

Alignment
Time Limit: 1000MS Memory Limit: 30000K
Total Submissions: 11559 Accepted: 3684

Description

In the army, a platoon is composed by n soldiers. During the morning inspection, the soldiers are aligned in a straight line in front of the captain. The captain is not satisfied with the way his soldiers are aligned; it is true that the soldiers are aligned in order by their code number: 1 , 2 , 3 , . . . , n , but they are not aligned by their height. The captain asks some soldiers to get out of the line, as the soldiers that remain in the line, without changing their places, but getting closer, to form a new line, where each soldier can see by looking lengthwise the line at least one of the line's extremity (left or right). A soldier see an extremity if there isn't any soldiers with a higher or equal height than his height between him and that extremity. 

Write a program that, knowing the height of each soldier, determines the minimum number of soldiers which have to get out of line. 

Input

On the first line of the input is written the number of the soldiers n. On the second line is written a series of n floating numbers with at most 5 digits precision and separated by a space character. The k-th number from this line represents the height of the soldier who has the code k (1 <= k <= n). 

There are some restrictions: 
• 2 <= n <= 1000 
• the height are floating numbers from the interval [0.5, 2.5] 

Output

The only line of output will contain the number of the soldiers who have to get out of the line.

Sample Input

8
1.86 1.86 1.30621 2 1.4 1 1.97 2.2

Sample Output

4


==============================

求个递增求个递减,注意递增递减边界两只是可以等高的,不是严格先递增后递减,然后枚举


#include <iostream>
#include <cstring>
using namespace std;

double a[1111];
int n,ans;
int f[1111],g[1111];

int main()
{
    while(cin>>n)
    {
        memset(f,0,sizeof(f));
        memset(g,0,sizeof(g));
        for(int i=1; i<=n; i++)
        {
            cin>>a[i];
        }
        a[0]=-1e9;
        a[n+1]=-1e9;
        for(int i=1; i<=n; i++)
        {
            for(int j=0; j<i; j++)
            {
                if (a[i]>a[j]&&f[j]+1>f[i])
                {
                    f[i]=f[j]+1;
                }
            }
        }
        for(int i=n; i>=1; i--)
        {
            for(int j=n+1; j>i; j--)
            {
                if(a[i]>a[j]&&g[j]+1>g[i])
                {
                    g[i]=g[j]+1;
                }
            }
        }
        ans=0;
        for(int i=1; i<=n; i++)
        {
            for(int j=i+1; j<=n; j++)
            {
                ans=max(ans,f[i]+g[j]);
            }
        }
        ans=n-ans;
        cout<<ans<<endl;
    }
    return 0;
}


赛元微电子sc92f7003单片机手册 20PIN,高速1T 8051内核Flash MCU ,512 bytes SRAM ,8 Kbytes Flash,128 bytes独立EEPROM,8路12位ADC,7路10位PWM,3个定时器,UART ,SSI ,Check Sum校验模块,STOP Mode电流<1uA​ 立即下载

相关推荐

跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

书接上回(跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类)。完成数据降维和细胞聚类后,最主要的环节和工作就是确定各个细胞群,明确是什么类型的细胞,正群的细胞定群很关键,涉及到整个研究,所以这一步宁愿多费时间,也不要出错。当然,这也不是一蹴而就的,需要反复的确认。 要确定各个群是什么细胞,首先需要了解细胞群的marker基因,因为不同类型的细胞突出 表达的基因也是不同的。这里使用FindAllMarkers鉴定各个细胞群的高表达基因。 DefaultAssay(scedata)

qq_42090739的博客 1万+

poj_1836Alignment

Alignment Time Limit:1000MS Memory Limit:30000K Total Submissions:10423 Accepted:3329 Description In the army, a platoon is composed by n soldiers. During the morning i...

晚晴小筑 186

驱动钛丝(SMA)的应用(5)汽车腰托气阀常见问题及解决方案

财哥在前段时间发布的《驱动钛丝(SMA)的应用(1)汽车腰托支撑按摩气阀模块》一文,引发了很多企业的拜访和交流。 目前很多厂家已经启动或正在进行相关研发,同时也遇到了诸如:钛丝选型、驱动位移、响应设计、温度控制、力量设计、点动滞后、铆接工艺、量化生产等问题。

weixin_39168671的博客 1241

教堂(church)

教堂

weixin_73305859的博客 490

从命名玄学看单片机江湖:STC、STM32与ESP32的型号密码与设计哲学

本文解析了STC、STM32和ESP32三大主流单片机系列的型号命名规则,揭示了其背后的设计哲学与市场策略。通过详细解读STC89C52、STM32F103C8T6等具体型号,帮助开发者理解芯片核心特性、性能等级及适用场景,为嵌入式系统选型提供实用指南。

g5h6i的博客 761

工程师必读一次性讲明白系列(十三)眼图、阻抗匹配、信号一致性、射频匹配、电磁感应

概念主要作用影响因素解决方法眼图评估信号质量,显示失真和噪声噪声、信号失真、时序抖动改善信号源、使用低噪声组件阻抗匹配避免信号反射,提高传输效率阻抗不匹配、传输线路特性使用匹配电路、适配器信号一致性保证信号稳定准确传输传输线路、噪声干扰使用屏蔽、滤波器,选择合适线路射频匹配确保射频信号高效传输天线设计、阻抗不匹配使用射频匹配器、调整天线设计电磁感应防止电磁干扰对信号的影响设备之间的电磁干扰(EMI)屏蔽、接地、滤波器。

weixin_43199439的博客 158

赛元微 SC92F8003 IAP固件函数库使用示范

赛元微 SC92F8003 IAP固件函数库使用示范

Debug-123 1448

Qt/C++ 音视频开发 - FFmpeg 安卓版

通过将 FFmpeg 集成到 Qt/C++ 项目中,我们可以实现强大且灵活的音视频处理功能。本文介绍了在安卓平台上使用 FFmpeg 的基本步骤,包括初始化、解码、处理和编码等。实际应用代码示例展示了如何在安卓设备上播放视频。

走向CTO的路上... 1192

赛元SC92F7250单片机开发

赛元SC92F7250单片机,是国产的超低成本选择。对于功能简单,控制不复杂的场景,非常适用。最大时钟可配24M,内部4Kbytes flash ROM + 256 bytes SRAM + 128bytes EEPROM,支持Flash读写、低电压复位、11位看门狗、基本定时器、高级定时器、外部中断、8位PWM可调、12位精度的ADC等功能,支持IDLE/Stop模式切换。 SC92F7250型号的MCU采用8051内核,其指令完全兼容标准8051内核单片机。

Charles的博客 1万+

Istio ICA考试之路---2-2

找到dr部分,这部分可以在mirroring里找也可以和题2-1一样在Traffic Management的dr里复制,内容都一样。此题之后都是在cluster-2上操作,所以就不需要再切换了.之后的几题2.1节就忽略掉了。可以看到,80%的流量被镜像到了dev上,实际考试这步可以忽略。看到ex-ip是192.168.126.220。获取gw,把gateways加入到vs配置中。获取istio-ingress的ex-ip。就获得了这样一个模板文件。查看2个pod的日志。

Q先生 854

ESM2蛋白预训练模型 蛋白质、氨基酸向量表示

参考: https://github.com/facebookresearch/esm https://huggingface.co/facebook/esm2_t33_650M_UR50D https://esmatlas.com/resources?action=fold tokenizer_对输入蛋白会头尾添加cls、eos特殊字符,占两个字符长度 参考:https://github.com/facebookresearch/esm 直接clone下来代码

weixin_42357472的博客 1万+

poj 1836 Alignment 最长递增子序列

Description In the army, a platoon is composed by n soldiers. During the morning inspection, the soldiers are aligned in a straight line in front of the captain. The captain is not satisfied with t

小周周i的博客 342

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【POJ 1836】 Alignment

【POJ 1836】 Alignment有一队士兵 已知每个士兵个头 想要从中选一些士兵出列 让剩下的士兵向左或向右能看到队首(及左边或右边的士兵个头都< 他) 两次LIS 从左往右 从右往左分别LIS 然后枚举找最少出队人数即可代码如下:#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #de

ACMer' 1050

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

poj 1836 Alignment 排队

poj 1836 Alignment http://poj.org/problem?id=1836 题意:有士兵n个,根据编号排为一列,但是身高不一,现在要求去掉几个人,使得剩下的每一个人可以向左或向右看到队头。问:至少去掉的士兵数。 dp动态规划 之 双向LIS问题 1 /* 2 Problem: 1836 User:...

aidibi1469的博客 134

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

POJ 1836 Alignment 最长递增子序列(LIS)的变形

大致题意:给出一队士兵的身高,一开始不是按身高排序的。要求最少的人出列,使原序列的士兵的身高先递增后递减。 求递增和递减不难想到递增子序列,要求最少的人出列,也就是原队列的人要最多。 1 2 3 4 5 4 3 2 1 这个序列从左至右看前半部分是递增,从右至左看前半部分也是递增。所以我们先把从左只右和从右至左的LIS分别求出来。 如果结果是这样的:   A[i]={1.86 1.86 ...

weixin_33843409的博客 164

poj 1836 LIS变形

题目链接http://poj.org/problem?id=1836 Alignment Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 17331 Accepted: 5694 Description In the army, a platoon is...

all00747的博客 144

POJ 1836 Alignment 双向LIS+DP

POJ 1836 Alignment题目描述:  题目链接:POJ 1836 Alignment题目大意:  令到原队列的最少士兵出列后,使得新队列任意一个士兵都能看到左边或者右边的无穷远处,且除最高点外任一士兵旁边不能存在等高的士兵。图来自http://blog.youkuaiyun.com/lyy289065406/article/details/6648129解题思路:  大致的想法就是分别做两个LIS(

Running Boy的AC Dream 487

POJ 1836 Alignment - (DP)

题目链接:http://poj.org/problem?id=1836#include &lt;stdio.h&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; //POJ 1836 Alignment int main() { int n; scanf("%d", &amp;n...

rsy56640的博客 204

【最长下降子序列+有难度】北大 poj 1836 Alignment

/* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2012 panyanyany All rights reserved. URL : http://poj.org/pr...

网站开发初中级代码参考-转载 153

POJ - 1836 Alignment (最长上升子序列 O(nlogn))

解题思路:是POJ2533的扩展题。 题意不难,令到原队列的最少士兵出列后,使得新队列任意一个士兵都能看到左边或者右边的无穷远处。就是使新队列呈三角形分布就对了。   但这里有一个陷阱,看了一些别人的解题报告说“任一士兵旁边不能存在等高的士兵”,然后又举了一个例子说注意 3 5 5 5 的情况,我没看他们的程序,不知道他们是不是把这些例子特殊处理了,但完全没必要

AK_HuangYC的博客 637

poj 1836 Alignment(线性dp)

题目链接:http://poj.org/problem?id=1836 思路分析:假设数组为A[0, 1, …, n],求在数组中最少去掉几个数字,构成的新数组B[0, 1, …, m]满足条件B[0] < B[1] <….<B[i] 且 B[i+1] > … > B[m]; 该问题实质为求A[0, …, k]的最长递增子序列和A[j, …, n]中的最...

aqjh9999的博客 150

POJ 1836 Alignment DP LIS

传送门:POJ1836 题意:有n个人站成一排,给出他们的身高,让其中某些人出列,要保证剩下的人能看到左边或右边的排头,问最少出队人数是多少。 思路:刚看题的时候理解错了题意,还以为剩下的人只能看向同一边,心想这不就是个裸LIS么。。结果还是我太年轻啊。。 其实剩下人的身高可以是这样:1 2 3 2 1  或者这样: 1 2 3 3 2 1   正确解法:正向和反向做LIS,然后记录每个点

WA是一笔财富 326

POJ1836【Romania OI 2002】Alignment

题目链接:http://poj.org/problem?id=1836 【分析】     两次LIS,中间允许相等。可以nlogn但我懒得写了。 【代码】 #include #include #include using namespace std; const int maxn=1010; const double eps=1e-8; double h[maxn]

Zarxdy34 1287

POJ1836——Alignment

Alignment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 13366   Accepted: 4296 Description In the army, a platoon is composed by n soldiers. During the morni

Alex 1266
上一篇: HDU 1754 - I Hate It(线段树)
下一篇: POJ 3069 - Saruman's Army
coco430
博客等级 码龄14年 9粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值