COJ 1050动态规划简单题
来源:互联网 发布:voip网络电话源码 编辑:程序博客网 时间:2024/05/22 21:49
拦截导弹
Time Limit: 1000 ms Memory Limit: 65536 KBTotal Submit: 528 Accepted: 434
Description
某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。
注意:此题正确率和提交数为按键精灵提交测试所致,不是特别特别的水的题。如果没有把握,慎做!
注意:此题正确率和提交数为按键精灵提交测试所致,不是特别特别的水的题。如果没有把握,慎做!
Input
输入有两行,
第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),
第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时间顺序给出,以空格分隔。
第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),
第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时间顺序给出,以空格分隔。
Output
输出只有一行,包含一个整数,表示最多能拦截多少枚导弹。
Sample Input
8
300 207 155 300 299 170 158 65
300 207 155 300 299 170 158 65
Sample Output
6
Hint
1009,1049,1050是同一类型的题目,难度排序1009>1049>1050。
简单的动态规划,因为对动态规划比较怕,所以现在开始攻克这动态规划……一点点进步吧……
#include<iostream>#include<cstdlib>#include<cstdio>#include<algorithm>using namespace std;int main(){ int n,ans=0,i,j,a[1000],f[1000]; cin>>n; for(i=0; i<n; i++) { cin>>a[i]; f[i]=1; } for(i=1;i<n;i++) for(j=0;j<i;j++) if(a[j]>=a[i]&&f[j]+1>f[i]) f[i]=f[j]+1; //每个相应的位置都记录下最多的拦截导弹个数,最后找出来最大值即是。 for(i=0; i<n; i++) if(f[i]>ans) ans=f[i]; cout<<ans<<endl; return 0;}
- COJ 1050动态规划简单题
- COJ--1050--拦截导弹【动态规划】
- COJ 1022: 菜鸟和大牛(简单的动态规划,递推)
- 简单的动态规划题
- 一个简单的动态规划题
- codeforce 416/B 动态规划简单题
- HDU1081——动态规划简单题
- 一道简单的动态规划题
- poj2479_简单动态规划
- 动态规划简单实例
- 简单动态规划
- 简单动态规划总结
- 动态规划-简单了解
- 简单动态规划问题
- 简单动态规划
- 简单动态规划总结
- 动态规划简单理解
- 简单区间动态规划
- Linux与Windows共享(Samba的配置)
- The method assertEquals(double, double) from the type Assert is deprecated
- 【Rails】Sass::SyntaxError in StaticPages#home错误的解决方案
- 微信/易信公共平台开发(一):开发了一个简单易用的PHP类(提供源码),十几行代码搞定一个公众号
- xcode Undefined symbols for architecture i386:
- COJ 1050动态规划简单题
- static_cast 和 dynamic_cast 的区别
- DSP/BIOS 启动顺序【转】
- 叶正盛:再次写给我们这些浮躁的程序员
- (五)链式堆栈的实现与应用
- 程序员,如何提高核心竞争力
- 工作那些事(六)谈谈好的编程习惯的好处
- 创业公司如何应对大公司抄袭
- 孩子,你永远是自由的