解题思路:可以转化为求最长上升子序列来做,还是可以用an与按升序排列后的an求LCS来做,为防止超时,用滚动数组优化一下就可以了。

最少拦截系统

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

Problem Description

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统.

Input

输入若干组数据.每组数据包括:导弹总个数(正整数),导弹依此飞来的高度(雷达给出的高度数据是不大于30000的正整数,用空格分隔)

Output

对应每组数据输出拦截所有导弹最少要配备多少套这种导弹拦截系统.

Sample Input

8 389 207 155 300 299 170 158 65

Sample Output

2

Source

浙江工业大学第四届大学生程序设计竞赛

#include<stdio.h>
#include<string.h>
int a[10010],b[10010],f[2][10010];
void bubblesort(int a[],int n)
{int i,j,t;for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}}}
}
int max(int c,int d)
{if(c>d)return c;elsereturn d;
}int main()
{int i,j,n,x,y;while(scanf("%d",&n)!=EOF){for(i=0;i<n;i++){scanf("%d",&a[i]);b[i]=a[i];}bubblesort(a,n);memset(f,0,sizeof(f));for(i=1;i<=n;i++){x=i%2;y=1-x;for(j=1;j<=n;j++){if(b[i-1]==a[j-1])f[x][j]=f[y][j-1]+1;elsef[x][j]=max(f[y][j],f[x][j-1]);}}printf("%d\n",f[n%2][n]);}
}

  

转载于:https://www.cnblogs.com/wuyuewoniu/p/4196782.html

HDU 1257 最少拦截系统【最长上升子序列】相关推荐

  1. hdu 1257最少拦截系统(贪心)

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  2. hdu 1257最少拦截系统 动态规划

    最少拦截系统 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Problem Desc ...

  3. HDU——1257最少拦截系统(贪心)

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  4. 题解报告:hdu 1257 最少拦截系统(贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257 Problem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是 ...

  5. HDU 1257 - 最少拦截系统 ( LIS / 贪心 )

    题目 现在有一种拦截系统,第一发拦截可以是任意高度,但是之后的拦截高度不能比上次高.为了拦截下所有的炮弹,最少需要准备几套拦截系统? 思路 可能是语文没学好吧,一开始被题意卡了一下.(而且题目连数据范 ...

  6. HDU 1257 - 最少拦截系统

    某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于 ...

  7. HDU 1257 最少拦截系统

    /* 若N个数 为递增序列 则最多需要N个导弹系统 贪心 + DP 见注释 */ #include <stdio.h> #define MAX 100000 int height[MAX] ...

  8. HDU 1257 最少拦截系统(贪心)

    解题思路:用一个vector存下数据,从头开始非递增遍历,并把符合条件的删除,一次操作,ans++,当vector为空时退出循环.(PS:学到了vector的erase操作,竟然还有返回值,涨姿势了) ...

  9. hdu 1257 最少拦截系统 (DP)

    点击打开链接 #include"stdio.h" int main() {int a[10011],b[10011];int i,j,c,n;while(scanf("% ...

最新文章

  1. 自定义窗体设计器-控件测试
  2. mysql ibd文件还原_Mysql 通过ibd文件恢复数据
  3. java学习笔记(2)
  4. 开发者社区SDK对应版本更迭信息
  5. leetcode 233 number of digit one
  6. 爬虫python的爬取步骤-Python爬虫爬取数据的步骤
  7. 缓冲区溢出基本C程序的控制台和Win32版本
  8. django gunicorn 各worker class简单性能测试
  9. java session 数量_java中使用session监听实现同帐号登录限制、登录人数限制
  10. spring boot—自定义logback日志配置
  11. 分布式 开源_3个开源分布式跟踪工具
  12. 传智播客 java视频_java传智播客视频
  13. selenium + python环境搭建步骤
  14. Maven的下载和安装
  15. linux中如何从txt转为nc文件,【转】linux下nc的使用
  16. idea打包jar运行时出现——jar中没有主清单属性(Invalid or corrupt jarfile)
  17. 计算机网络速度怎么改,怎么让电脑网速变快? 公用网络怎么变快
  18. 从ChargePoint到能链智电,充电服务商的价值创新
  19. 每当我夜深人静的时候下载小电影,总是会卡在百分之九十九,这是正义的制裁么?
  20. 新媒体运营:23种免费获取流量的运营套路 ,你知道几种? 黎想

热门文章

  1. tomcat如何进入管理页面 manager/html 配置方法
  2. php嵌入html代码的三种方法
  3. 关于java中判断字符串相等==和equal 详解
  4. html页面锁屏,JavaScript网页锁屏效果源码实例
  5. c语言控制倒车雷达系统,倒车雷达控制系统设计
  6. 添加列oracle默认值,Oracle 11g增加列,并带默认值的新特性
  7. 凭什么它能成为报表神器?这五大技术硬货不得不服
  8. python 小提高
  9. cmd mysql出现乱码怎么解决方法_cmd如何解决mysql乱码
  10. 6-4 链表拼接 (20分)_数据结构之链表