【日常学习】【线性DP】codevs1044 拦截导弹题解
2015-06-23 17:39
513 查看
题目描述 Description
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
输入描述 Input Description
输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数)
输出描述 Output Description
输出这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。
样例输入 Sample Input
389 207 155 300 299 170 158 65
样例输出 Sample Output
6
2
数据范围及提示 Data Size & Hint
导弹的高度<=30000,导弹个数<=20
简而言之,求最长不上升子序列,另外球最少的不上升序列数
动归,由于是复习,这里不再讲解了。看代码应该能理解。
球导弹系统数,是用贪心:如果这一个可以被前面的拦截,那么在已有系统中找最低的一个;如果不能,开新系统。可以用二分查找优化,因为导弹系统数组S单调递增。
放代码:
暑假无论如何都要废寝忘食的好好学习了。
现在也要好好学习。
Time waits for no one.
——何时倚虚晃,双照泪痕干。
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
输入描述 Input Description
输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数)
输出描述 Output Description
输出这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。
样例输入 Sample Input
389 207 155 300 299 170 158 65
样例输出 Sample Output
6
2
数据范围及提示 Data Size & Hint
导弹的高度<=30000,导弹个数<=20
简而言之,求最长不上升子序列,另外球最少的不上升序列数
动归,由于是复习,这里不再讲解了。看代码应该能理解。
球导弹系统数,是用贪心:如果这一个可以被前面的拦截,那么在已有系统中找最低的一个;如果不能,开新系统。可以用二分查找优化,因为导弹系统数组S单调递增。
放代码:
暑假无论如何都要废寝忘食的好好学习了。
现在也要好好学习。
Time waits for no one.
——何时倚虚晃,双照泪痕干。
相关文章推荐
- CAS和Shiro在spring中集成
- web 开发之酷炫--- 酷炫展示
- IOS开发 根据某个日期计算是星期几
- Java OutOfMemory 错误
- 【java设计模式】组合模式
- 我的vimrc,留而利值(不定期更新)
- 如何在IE浏览器中调用未签名ActiveX控件的设置方法
- 中文乱码解决方案
- 使用NSURLProtocol实现UIWebView的离线缓存
- Android使用Intent一键分享图片文字到腾讯、新浪、开心、微信等
- Unity3D插件之NGUI:Lable
- Sublime Text 3中关闭记住上次打开的文件
- 攻城狮的体检
- RememberMe(Shiro)
- 脚本 - Oracle10g PSU后升级数据字典(RAC)
- HDU 5274(LCA + 线段树)
- HADOOP 压缩
- ofbiz,普通java程序,osgi中类加载
- 如何修改服务器的SSH监听端口
- plsql中文乱码,显示问号