拦截导弹 (最长上升子序列LIS)


#include <iostream>
#include <stdio.h>
#include <algorithm> using namespace std; int list[]; // 按袭击事件顺序保存各导弹高度
int dp[]; // dp[i] 保存以第i个导弹结尾的最长不增子序列长度 int main()
{
int n;
while(cin >> n)
{
for(int i = ; i <= n; ++i)
cin >> list[i]; for(int i = ; i <= n; ++i) // 按照袭击时间顺序确定每一个dp[i]
{
int tmax = ; // 最大值的初始值为1,即以其结尾的最长不增子序列长度至少为1
for(int j = ; j < i; ++j) // 遍历其前所有导弹高度
if(list[j] >= list[i]) // 若j号导弹不比当前导弹低
tmax = max(tmax, dp[j] + ); // 将当前导弹排列在以j号导弹结尾的最长不增子序列之后,计算其长度dp[j] + 1, 若大于当前最大值,则更新最大值 dp[i] = tmax; // 将dp[i] 保存为最大值
}
int ans = ;
for(int i = ; i <= n; ++i)
{
ans = max(ans, dp[i]); // 找到以每一个元素结尾的最长不增子序列中的最大值, 该最大值即为答案
}
cout << ans << endl; } return ;
}
拦截导弹 (最长上升子序列LIS)的更多相关文章
- HDU 1257 最少拦截系统 最长递增子序列
		HDU 1257 最少拦截系统 最长递增子序列 题意 这个题的意思是说给你\(n\)个数,让你找到他最长的并且递增的子序列\((LIS)\).这里和最长公共子序列一样\((LCS)\)一样,子序列只要 ... 
- 2.16 最长递增子序列 LIS
		[本文链接] http://www.cnblogs.com/hellogiser/p/dp-of-LIS.html [分析] 思路一:设序列为A,对序列进行排序后得到B,那么A的最长递增子序列LIS就 ... 
- 最长上升子序列LIS(51nod1134)
		1134 最长递增子序列 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递 ... 
- 动态规划(DP),最长递增子序列(LIS)
		题目链接:http://poj.org/problem?id=2533 解题报告: 状态转移方程: dp[i]表示以a[i]为结尾的LIS长度 状态转移方程: dp[0]=1; dp[i]=max(d ... 
- 【部分转载】:【lower_bound、upperbound讲解、二分查找、最长上升子序列(LIS)、最长下降子序列模版】
		二分 lower_bound lower_bound()在一个区间内进行二分查找,返回第一个大于等于目标值的位置(地址) upper_bound upper_bound()与lower_bound() ... 
- 题解  最长上升子序列 LIS
		最长上升子序列 LIS Description 给出一个 1 ∼ n (n ≤ 10^5) 的排列 P 求其最长上升子序列长度 Input 第一行一个正整数n,表示序列中整数个数: 第二行是空格隔开的 ... 
- 最长回文子序列LCS,最长递增子序列LIS及相互联系
		最长公共子序列LCS Lintcode 77. 最长公共子序列 LCS问题是求两个字符串的最长公共子序列 \[ dp[i][j] = \left\{\begin{matrix} & max(d ... 
- 一个数组求其最长递增子序列(LIS)
		一个数组求其最长递增子序列(LIS) 例如数组{3, 1, 4, 2, 3, 9, 4, 6}的LIS是{1, 2, 3, 4, 6},长度为5,假设数组长度为N,求数组的LIS的长度, 需要一个额外 ... 
- 1. 线性DP  300. 最长上升子序列 (LIS)
		最经典单串: 300. 最长上升子序列 (LIS) https://leetcode-cn.com/problems/longest-increasing-subsequence/submission ... 
随机推荐
- JSON对象获取指定元素以及JSON.parse() 与 JSON.stringify() 的区别
			利用 JSON.parse(param) 实现 例: var param = { "name" : "张三", "text" : { &qu ... 
- T2988 删除数字【状压Dp+前缀和优化】
			Online Judge:从Topcoder搬过来,具体哪一题不清楚 Label:状压Dp+前缀和优化 题目描述 给定两个数A和N,形成一个长度为N+1的序列,(A,A+1,A+2,...,A+N-1 ... 
- c语言解决函数变参数问题 va_list
			前言:看到sprintf,swprintf之类的可变参数格式化函数,是否想过我们能写一个自定义的类似的函数吗?答案是很定的,下面来介绍一种方法,用va_list,va_start, va_end来实现 ... 
- PHP SSH2 不支持 IdentityFile
			有的情况下 我们会用到 类似命令行 sftp -o IdentityFile=.ssh/identity username@host方式 登陆, 想用php 操作, 但是 php 现在看是不支持的, ... 
- PHP简单实现“相关文章推荐”功能的方法(此方法不是自创)
			1, 所用的函数:int similar_text ( string $first, string $second[, float $percent] ) 利用similar_text将这些文章标题同 ... 
- DSMM之数据处理安全
			一.背景 数据安全生命周期分为采集.传输.存储.处理.交换.销毁几个阶段,其中数据处理阶段是整个周期的核心阶段,数据处理安全与否直接关系到整体数据安全.那么今天分享内容就是数据处理安全的相关要求和实现 ... 
- 深入浅出 Java Concurrency (1) : J.U.C的整体认识[转]
			去年年底有一个Guice的研究计划,可惜由于工作“繁忙”加上实际工作中没有用上导致“无疾而终”,最终只是完成了Guice的初步学习教程,深入的研究没有继续进行下去. 最近一直用的比较多的就是java. ... 
- DFS-深度优先搜索与BFS-广度优先搜索
			1.DFS DFS是一个递归过程.(类似于二叉树的前序遍历) 参考:深度优先搜索(Depth-First-Search)精髓 2.BFS 可以理解为按层遍历,借助队列结构来实现.(类似于二叉树的层次遍 ... 
- centos yum 坏掉 db 损坏
			#首先清除掉缓存,之后再重建就可以了 rm -f /var/lib/rpm/__db* rpm --rebuilddb 提示的错误应该是: error: rpmdb: BDB0113 Thread/p ... 
- 浅谈Python小数据池
			什么是小数据池 小数据池是python中提高效率的一种方式,固定数据类型的相同值使用同一内存地址. id 用于获取开辟空间的内存地址 代码块 一个文件,一个模块,一个函数,一个类,终端中的每一行代码都 ... 
