http://acm.hdu.edu.cn/showproblem.php?pid=1257

最少拦截系统

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 15379    Accepted Submission(s): 6128

Problem Description
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.
怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统.
Input
输入若干组数据.每组数据包括:导弹总个数(正整数),导弹依此飞来的高度(雷达给出的高度数据是不大于30000的正整数,用空格分隔)
Output
对应每组数据输出拦截所有导弹最少要配备多少套这种导弹拦截系统.
Sample Input
8 389 207 155 300 299 170 158 65
Sample Output
2

分析:可以转化为最长子序列问题,至少得拦截系统,即计算最长递增子序列。

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5     int f[10001],i,j,n,a[10001],max,t;
 6     while(scanf("%d",&t)!=EOF)
 7     {
 8         for(i=0;i<t;i++)
 9         scanf("%d",&a[i]);
10         f[0]=1;
11         for(i=1;i<t;i++)
12         {
13             max=0;
14             for(j=0;j<i;j++)
15             {
16                 if(a[j]<a[i]&&max<f[j])//在拦截中出现了单调递增
17                 {
18                     max=f[j];
19                 }
20             }
21             f[i]=max+1;
22         }
23         max=f[0];
24         for(i=0;i<t;i++)
25         {
26             if(f[i]>max)
27             max=f[i];
28         }
29         printf("%d\n",max);
30     }
31     return 0;
32 }

View Code

转载于:https://www.cnblogs.com/zeze/p/hdoj1257.html

HDOJ 1257 (最长字序列问题)相关推荐

  1. 【LeetCode】128. 最长连续序列

    一.题目描述 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 二.示例 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连 ...

  2. POJ 3080 Blue Jeans (多个字符串的最长公共序列,暴力比较)

    题意:给出m个字符串,找出其中的最长公共子序列,如果相同长度的有多个,输出按字母排序中的第一个. 思路:数据小,因此枚举第一个字符串的所有子字符串s,再一个个比较,是否为其它字符串的字串.判断是否为字 ...

  3. OFDM中preamble的短训练序列和长训练序列作用

    接收到的数据经过粗定时,采样时钟调整,帧到达检测,帧定时,载波同步后得到同步后的数据. 帧到达检测,是基于短训练字的能量检测算法.判决时要计算数据前后相关和自相关的值. 帧定时,是基于长训练字的能量检 ...

  4. LeetCode简单题之最长特殊序列 Ⅰ

    题目 给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列 .如果不存在,则返回 -1 . 「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列) ...

  5. LeetCode中等题之无重复字符的最长字串

    题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &q ...

  6. 算法--无重复字符的最长字串(详细)

    给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度 class Solution {public int lengthOfLongestSubstring(String s) {// ...

  7. 【动态规划】最长公子序列 - dp

    问题描述: 求出两个字符串中的最长公子序列的长度. 输入: cnblog belong 输出: max length = 4 #include <stdio.h> #include < ...

  8. 算法--------最长连续序列(Java版本)

    题目 给定一个未排序的整数数组,找出最长连续序列的长度.要求算法的时间复杂度为 O(n).示例:输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, ...

  9. [Swift]LeetCode522. 最长特殊序列 II | Longest Uncommon Subsequence II

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  10. Leetcode 674.最长递增序列

    最长递增序列 给定一个未经排序的整数数组,找到最长且连续的的递增序列. 示例 1: 输入: [1,3,5,4,7] 输出: 3 解释: 最长连续递增序列是 [1,3,5], 长度为3. 尽管 [1,3 ...

最新文章

  1. java word转html 报错 org/apache/poi/xwpf/usermodel/IRunBody
  2. sougou输入法安装
  3. spark 1.6.0 简单使用
  4. Java经典面试题整理及答案详解(八)
  5. 解决Android SDK更新慢
  6. html5 audio音频播放全解析
  7. 获取当前鼠标的位置以及组件的位置
  8. SCOM数据库整理索引计划出错
  9. vue.js框架的生命周期:常用钩子函数
  10. MSSQL-最佳实践-Always Encrypted
  11. python实现装饰器_Python装饰器是怎么实现的?
  12. 函数调用关系python_追踪python函数调用关系
  13. 帖子如何实现显示浏览次数_我是如何一步步的在并行编程中将lock锁次数降到最低实现无锁编程...
  14. ios开发-Object-C可变参数函数
  15. Unsplash能找到很多免费无版权图片
  16. 解决百度地图搜索框在底层显示不出来
  17. ImageJ工具的使用
  18. STM8L051之ADC+DMA两通道数据采样错位问题
  19. 注解@AllArgsConstructor @NoArgsConstructor是 什么意思
  20. oracle字符串类型的时间常用操作

热门文章

  1. 获取第一个子元素_Activiti 开发案例之多实例并行子流程
  2. 【Java程序设计】Java基础类库简介
  3. Web服务器程序解释请求消息并作出响应
  4. 在Zephyr上使用malloc/new
  5. Linux终端显示图像
  6. FastHook——实现.dynsym段和.symtab段符号查询
  7. JavaScript的apply和call方法及其区别
  8. 【火炉炼AI】机器学习042-NLP文本的主题建模
  9. 微信小程序相关三、css写小黄人
  10. 电商平台实战经验:电商中的Hadoop生态系统应用