怪盗基德的滑翔翼(最长上升子序列)「建议收藏」

怪盗基德的滑翔翼(最长上升子序列)「建议收藏」最长上神子序列(nlogn)原题链接怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。他可以选择一个

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最长上神子序列(nlogn)

原题链接
怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。

而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。

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

不得已,怪盗基德只能操作受损的滑翔翼逃脱。

假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。

初始时,怪盗基德可以在任何一幢建筑的顶端。

他可以选择一个方向逃跑,但是不能中途改变方向(因为中森警部会在后面追击)。

因为滑翔翼动力装置受损,他只能往下滑行(即:只能从较高的建筑滑翔到较低的建筑)。

他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。

请问,他最多可以经过多少幢不同建筑的顶部(包含初始时的建筑)?

输入格式
输入数据第一行是一个整数K,代表有K组测试数据。

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

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

数据范围
1≤K≤100,
1≤N≤100,
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>
#define x first
#define y second
#define send string::nops
using namespace std;
typedef long long ll;
const int N = 1e4 + 10;
const int M = 3 * N;
const int INF = 0x3f3f3f3f;
typedef pair<int,int> PII;
vector<int> fup,fdown,a;
int len_up,len_down;
int main(){ 
   
    int T,n,x;
    cin>>T;
    while(T --){ 
   
        cin>>n;
        a.clear();
        fup.clear();
        fdown.clear();
        for(int i = 0;i < n;i ++){ 
   
            cin>>x;
            a.push_back(x);
        }
        for(int i = 0;i < n;i ++){ 
   
            if(i == 0){ 
   
                fup.push_back(a[i]);
                continue;
            }
            int pox = upper_bound(fup.begin(),fup.end(),a[i]) - fup.begin();
// cout<<pox<<endl;
            if(pox != fup.size())fup[pox] = a[i];
            else fup.push_back(a[i]);
        }
        reverse(a.begin(),a.end());
        for(int i = 0;i < n;i ++){ 
   
            if(i == 0){ 
   
                fdown.push_back(a[i]);
                continue;
            }
            int pox = upper_bound(fdown.begin(),fdown.end(),a[i]) - fdown.begin();

            if(pox != fdown.size())fdown[pox] = a[i];
            else fdown.push_back(a[i]);
        }
        cout<<max(fdown.size(),fup.size())<<endl;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168922.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux文件操作之cat、more、less、head、tail、wc命令

    linux文件操作之cat、more、less、head、tail、wc命令

    2021年9月9日
    56
  • jvm字符串常量池_java 常量池

    jvm字符串常量池_java 常量池字符串字符串字面量:就是指这个字符串本身,比如”Java”,”Hello”。字符串对象:比如newString(“abc”),或者直接Strings=”str”,后面的”str”也是一个字符串对象。字符串引用:引用就是一个变量,指向对应的字符串对象。常量池class常量池Java源文件编译之后得到的class文件,其中有项信息就是常量池,保存有字面量和符号引用,比如publicclassJ…

    2022年7月28日
    4
  • android开机动画 制作工具,android开机动画制作

    android开机动画 制作工具,android开机动画制作本帖最后由nihao200823于2017-1-1220:38编辑android开机动画制作与播放原理简介谁都想拥有一个华丽漂亮的开机动画,这让人心情舒畅,android是怎么来实现的?怎么制作一个自己的开机动画?这里揭开android开机动画的神秘面纱。1、制作开关机动画1.1开机动画的位置system/media/bootanimation.zip,要修改开机动画就是修改boota…

    2022年5月14日
    44
  • Vbs调用MsAgent组件,很有趣

    Vbs调用MsAgent组件,很有趣MicrosoftAgent是微软公司发布的一项代理软件开发技术,我们知道,在Office帮助系统中有一种叫作Office助手的代理软件,但其只允许Office各个组件调用,Agent动画人物可由任何Windows程序调用;Agent支持文字气球和输入提示条,在输出语音的同时把文字输出至一个卡通式文字气球中。如果电脑系统中安装有Agent语音识别引擎,当用户可以通过声卡、麦克风与用户交谈…

    2022年6月17日
    23
  • matlab生成浮雕灰度图,将照片做成浮雕灰度图[通俗易懂]

    matlab生成浮雕灰度图,将照片做成浮雕灰度图[通俗易懂]原标题:将照片做成浮雕灰度图做雕刻行业的朋友都知道,在日常的雕刻生产中常用到的文件格式有灰度图以及精雕的浮雕图。经常会接到一些客户的咨询,如何将照片做成浮雕灰度图?在回答这个问题之前,我觉得有必要先说下浮雕灰度图的概念。灰度图像指的是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑…

    2022年6月20日
    44
  • 常用hook机制_hook so层

    常用hook机制_hook so层SSDTHook技术详解与应用SSDTHook技术详解与应用一SSDT简介1什么是SSDT2SSDT结构3应用层调用Win32API的完整执行流程二SSDTHook原理1SSDTHook原理简介2进程隐藏与保护3文件隐藏与保护4端口隐藏一、SSDT简介1、什么是SSDT​SSDT的全称是SystemServicesDescriptorTable,系统服

    2025年8月7日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号