SUST OJ 1674: 入侵与反击(最长不下降子序列)
1674: 入侵与反击
时间限制: 1 Sec 内存限制: 128 MB
提交: 229 解决: 28
[提交][状态][讨论版]
题目描述
A国部署的反导系统遇到了一个致命BUG,那就是每一次发射的拦截导弹的飞行高度都将只能小于等于上一枚导弹的飞行高度,第一次发射的拦截导弹的飞行高度可以看作是足够大。对于A国,这是一件很严重的问题,这意味着A国的防空系统面临空前危机。
通过对A国的军事部门计算机的入侵,A国还不知道敌对国B国刚才已经发现了这项BUG。更不知道,在这项BUG的报告书上交到B国空军司令部那一刻,三分钟后B国的全体高级空军军官已经在作战室讨论作战方案。
如果战争真的开始,B国将依次派出n架战斗机,A国将依次发射拦截导弹,这n架飞机的飞行高度分别是h1,h2,h3.....hn。B国将要充分利用这项漏洞,考虑到这么一种情况,假设只要A国的导弹的飞行高度大于等于B国飞机就能百分之百地锁定并击落,那么B国,最少将会有几架不被击落飞机?
输入
第一行为T,表示有T组输入数据(T<200)。
每组数据第一行是n,代表有n架飞机(1=<n<=20 000)。
接下来一行有n个数,分别代表n架飞机的飞行高度,飞机飞行高度maxh为(1<=maxh<=50 000)。
输出
对于每组测试数据,在每行中输出一个数。表示B国最少将会有几架未被击落飞机。
样例输入
2 1 1000 6 340 260 101 405 278 89
样例输出
0 2
思路:找到一组数中有多少个数大于在该数之前的的某个数。
可以把数组倒过来,从最后一个数往前,寻找最长不下降子序列,然后数组的长度减去该子序列的长度即为所求
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+10;
int a[maxn],dp[maxn];
int b[maxn];
int main()
{int t,n,i;cin>>t;while(t--){cin>>n;for(i=0;i<n;i++) cin>>a[i];memset(b,0,sizeof(0));for(i=0;i<n;i++){b[n-1-i]=a[i];}memset(dp,0,sizeof(0));dp[0]=b[0];int pos,sum=1;for(i=1;i<n;i++){pos=lower_bound(dp,dp+sum,b[i]+1)-dp;dp[pos]=b[i];sum=max(sum,pos+1);}cout<<n-sum<<endl;}return 0;
}
转载于:https://www.cnblogs.com/Friends-A/p/9309038.html
SUST OJ 1674: 入侵与反击(最长不下降子序列)相关推荐
- 动态规划之最长不下降子序列
一.概念明确 先来看一串数字:(20,17,19,22,4,7,10,12,5,2,13) 1.序列:像以上排成一列的数字,我们叫它序列,其中每个数字,可以被称为一个元素. 2.子序列:将序列中的部分 ...
- 最长不下降子序列(推广问题)
最长不下降子序列问题的定义:在一个序列中,找到一个最长的子序列,其中这个序列是非递减的 我们可以把这个非递减推广,其实非递减就是一种顺序,那么我们可以把定义推广到:给出一个顺序序列.目标序列中,在目标 ...
- 最大流 ---- 最大不相交路径数 ---- P2766 最长不下降子序列问题(网络流24题)
题目链接 最多不相交路径 这种问题变化比较多,但都能表示成以下形式: 已知一些路径,每个节点只能属于一条路径,求能选择多少条路径使它们不相交. 主要的方法是拆点,将一个点拆成两个,然后连边,容量表示该 ...
- 最长不下降子序列java代码_浅谈最长不下降子序列与最长上升子序列
唔,最长不下降子序列与最长上升子序列曾是困扰蒟蒻多时的一个问题,应该也有一些人分不清这2个的求法吧. 首先n^2算法肯定是都能分清的,因为不下降和上升的区别是连续的2个能不能相等,只需要在判断的时候判 ...
- 【P2766】 最长不下降子序列问题
题目描述 «问题描述: 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的序列中最多可取出多少个长度为s的不下降子序列. (3)如果允许在取出的序列中多次 ...
- 最长不下降子序列的O(n^2)算法和O(nlogn)算法
转帖 最长不下降子序列的O(n^2)算法和O(nlogn)算法 最长不下降子序列(LIS:Longest Increasing Subsequence) //用句通俗的话说,我讲的很通俗易懂~~ 问题 ...
- 洛谷2766:[网络流24题]最长不下降子序列问题——题解
https://www.luogu.org/problemnew/show/P2766 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的序列中最多可取出 ...
- CodeForces - 1437E Make It Increasing(确定首尾的最长不下降子序列)
题目链接:点击查看 题目大意:给出一个长度为 n 的序列,现在有 m 个位置被锁定,也就是无法进行操作,每次操作可以选择一个没有被锁定的位置,将其更改为任意数值,现在问最少进行多少次操作,可以使得整个 ...
- 洛谷 - P2766 最长不下降子序列问题(最大流+动态规划+思维建边)
题目链接:点击查看 题目大意:给出一个由n个数组成的序列,有三个子问题: 求出当前数列的最长不下降子序列的长度len 如果每个数最多只能使用一次,问最多可以组成多少个长度为len的最长不下降子序列 如 ...
最新文章
- ios UIImage 圆形图片剪切方案
- 计算机组成原理第一阶段测试,计算机组成原理随堂测验1附答案
- IBM科学家实现存储器重大突破
- 关联性挖掘--Apriori算法详解
- 国产特斯拉近两月出口5.5万辆 今年已出口近10万辆
- Puppet安装与配置简介(附视频教程)
- RHEL7.X安装12.2RAC时root.sh错误CLSRSC-400的解决方案
- 计算机二级考试能不能用键盘,计算机二级 ,你中招了吗?
- mysql amoeba 事务_MySQL-Amoeba
- Spring Boot - 开启 HttpBasic 认证方式
- montypython买火柴_无聊图集(2017-04-01)
- js的tree数组对象扁平化思否_js中数组扁平化处理
- Shared UI Mesh内存占用过高
- 程序员如何积累编程技术或编程经验?
- 文章伪原创-文章伪原创工具
- 我套你猴子的,哥上岸了!附上我的字节客户端开发面经,希望帮助到大家!
- 64位时间戳 php,32 位 PHP 时间戳问题
- 优酷、YouTube、Twitter及JustinTV视频网站架构设计笔记
- 量子计算机模拟黑洞纠缠,纠缠的量子比特可以用来探测黑洞吗?
- 深度linux怎么还原系统,深度一键还原怎么用 深度一键还原教程介绍
热门文章
- 3D设计软件中怎么创建风扇叶模型?浩辰3D基础教程
- 利用腾讯 优图visionseed硬件 实现人脸疲劳检测项目(包括数据读取,数据保存,数据web端展示)
- Yep MKdocs编辑器
- SuperZero gero同步区块进度可视化
- Ubuntu 16.04 kinetic安装教程
- 通量数据处理(Python)——NC格式转为CSV格式
- 高颜值游戏专属蓝牙耳机推荐,双11认准这五款蓝牙耳机绝不踩雷
- 【论文阅读】Siamese Neural Network Based Few-Shot Learning for Anomaly Detection in Industrial Cyber-Physi
- Cannot resolve module 'fs'
- 明治维新VS洋务运动-同途殊归的变革by高铭君儿