南沙C++信奥赛陈老师解一本通题 1286:怪盗基德的滑翔翼

news/2024/10/19 17:15:55

【题目描述】

怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。

有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。

假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。他可以选择一个方向逃跑,但是不能中途改变方向(因为中森警部会在后面追击)。因为滑翔翼动力装置受损,他只能往下滑行(即:只能从较高的建筑滑翔到较低的建筑)。他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。请问,他最多可以经过多少幢不同建筑的顶部(包含初始时的建筑)?

【输入】

输入数据第一行是一个整数K(K<100),代表有KK组测试数据。

每组测试数据包含两行:第一行是一个整数N(N<100),代表有N幢建筑。第二行包含N个不同的整数,每一个对应一幢建筑的高度h(0<h<10000),按照建筑的排列顺序给出。

【输出】

对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。

【输入样例】

3
8
300 207 155 299 298 170 158 65
8
65 158 170 298 299 155 207 300
10
2 1 3 4 5 6 7 8 9 10

【输出样例】

6
6
9

 

#include<bits/stdc++.h>
using namespace std;
int a[10001],dp_up[10001],dp_down[10001];
int main()
{int k,n,ans;cin>>k;while(k--){cin>>n;ans=0;for(int i=1;i<=n;i++){cin>>a[i];dp_up[i]=dp_down[i]=1;}for(int i=1;i<=n;i++)	//求最长下降子序列长度  向左方向 ,也可以向右方向 {for(int j=1;j<i;j++){if(a[i]<a[j])dp_up[i]=max(dp_up[j]+1,dp_up[i]);if(a[i]>a[j])dp_down[i]=max(dp_down[j]+1,dp_down[i]);}}for(int i=1;i<=n;i++){	ans=max(ans,dp_up[i]);ans=max(ans,dp_down[i]);}	cout<<ans<<endl;}return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73506.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

web端ant-design-vue-Anchor锚点组件使用小节(2)

项目开发中有幸遇到了更细化的页面滚动问题,详情中我有多个履约节点子模块,除了正常的锚点和页面联动之外,客户希望我从列表中点击某个履约模块子节点,跳转到选中的履约模块子节点下面;如果没有子节点模块,则跳转到父级履约节点模块。实现这个功能大概这么两步,1、在子节…

netcore grpc

netcore grpc 一、solution创建空解决方案 > dotnet new sln -n Apricot.Grpc二、Grpc.Server创建Apricot.Grpc类库项目 > dotnet new classlib -n Apricot.Grpc# 解决方案添加类库项目> dotnet sln add Apricot.Grpc/Apricot.Grpc.csproj安装依赖 > dotnet add pa…

NOIP 计划 R15

NOIP 计划 R15 \(\def\EZ{\textcolor{#51af44}{\text{EZ}}}\EZ\) 表示简单,10分钟内就能想到。 \(\def\HD{\textcolor{#3173b3}{\text{HD}}}\HD\) 表示中等,能独立想出 \(\def\IN{\textcolor{#be2d23}{\text{IN}}}\IN\) 表示困难,独立思考能想到 \(50\%\) 以上 \(\def\AT{\t…

星际战甲 - 武器配卡

题记部分 一、主武器二、副武器三、近战武器 3.1、弧光蓄电重锤 — 业精于勤荒于嬉,行成于思毁于随 —

web端ant-design-vue-Anchor锚点组件使用小节(1)

web端ant-design-vue-Anchor锚点组件使用小节。项目开发中如果要实现前端页面平滑滚动到指定的位置,Anchor组件是一个好的选择,灵活且平滑,能满足常见的项目需求。最近开发中幸运的用到这个组件,从此对她爱不释手。下面就把开发中遇到的一些问题及源码整理出来,供以后查看…

高等数学 6.2 定积分在几何学上的应用

目录一、平面图形的面积1.直角坐标情形2.极坐标情形二、体积1.旋转体体积2.平行截面面积为已知的立体的体积三、平面曲线的弧长 一、平面图形的面积 1.直角坐标情形 我们已经知道,由曲线 \(y = f(x) (f(x) \geqslant 0)\) 及直线 \(x = a, x = b (a < b)\) 与 \(x\) 轴所围…

Ubuntu 16.04 编译安装Python 2.7.18

安装python 2.7.18(注)使用apt install python安装的版本是2.7.10,该版本对部分项目存在兼容性问题,因此需要手动编译安装 安装python编译环境sudo apt install python-dev pkg-config libreadline-dev libc6-dev libncursesw5-dev build-essential gdb pkg-config libbz2-…

STM32F1,LVGL简易DEMO移植

简介 尝试过在ESP32上移植LVGL之后,再在STM32上面LVGL,确认下是不是可以用 虽然STM32F103ZE的ROM及RAM都没有ESP32丰富,便对应于LVGL的最低配置要求,应该也可以正常运行的。不过也只能移植简单的 按键显示,像复杂一些DEMO,在STM32F1不用了,资源不够,导致编译不通过。 L…