luogu1020:导弹拦截:最长上升子序列+单调队列

一道来自luogu1020的题目,要求求解序列中的最长不上升子序列和最长上升子序列。暴力枚举的时间复杂度为O(n^2),而通过单调队列优化可降至O(nlogn)。暴力枚举思路是从后往前和从前往后匹配,而单调队列优化则是利用队列保持状态的单调性,通过二分查找确定插入位置。
摘要由CSDN通过智能技术生成

题目连接

  • 该题是luogu试炼场的2-16:T1

题目大意

  1. 有一个 n 个元素的序列,求其中的“最长不上升子序列” 和“最长上升子序列”
  2. 200分的数据是:n=100000;

题目分析

  • DP的起手题,最长上升子序列问题:

  • 题意分析:

  • 问题1:一个系统,攻击的高度只能持平或者衰减,所以用暴力的思维理解,当前是 x 个导弹,如果(x -> n )个导弹中,希望尽可能多的导弹能满足要求;
    在这里插入图片描述

  • 问题2:需要多少个这样的系统?本质和走楼梯一样,前面的小高峰,无法解决后面的大高峰的问题。
    在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值