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

解题思路:【要充分理解题意,不可断章取义】
贪心:每个防御系统要发挥其最大性能,
举例:
Input : 9 389 207 155 300 299 170 155 158 65
Output: 2
不是后者大于前者便部署一个新的防御系统,而是充分发挥所有防御系统的性能。
倒数第三个数 155 ,这枚导弹完全可以被第一防御系统所拦截,所以用两个系统便可以防御所以导弹。
先给出AC代码:
#include<stdio.h>
int narr[10003];
int main(void)
{
int n,i,k,flag,h;
while(scanf("%d",&n)!=EOF&&n)
{
k=0;
for(i=0; i<n; i++)
scanf("%d",&narr[i]);
while(1)
{
h=30005;
flag=0;
for(i=0; i<n; i++)
{
if(narr[i]<=h&&narr[i]>0)
{
h=narr[i];
flag=1;
narr[i]=-1;
}
}
if(flag)k++;
else break;
}
printf("%d\n",k);
}
return 0;
}
代码解析:
将所有导弹高度放入到一个数组中。
从第一开始扫描,如果后一个小于前一个,且大于0,则向后递推扫描,同时将扫描过的数值重新赋值-1,遍历所有元素。如果没有元素了,则不会进入for中的if,则,flag不会被赋值1,说明所有元素都已遍历完,且都被赋值为-1。遍历完 k++;
Input : 9 389 207 155 300 299 170 155 158 65
第一遍扫描 -1 -1 -1 -1 -1 -->k=1
则数组中元素 -1 -1 -1 300 299 170 -1 158
第二遍扫描 -1 -1 -1 -1 -->k=2
数组中元素以全为-1 不在进入 if 。flag=0;跳出while(1)循环。
则 Output k
hdu 1257 最少拦截系统(贪心)的更多相关文章
- HDU 1257 最少拦截系统 最长递增子序列
HDU 1257 最少拦截系统 最长递增子序列 题意 这个题的意思是说给你\(n\)个数,让你找到他最长的并且递增的子序列\((LIS)\).这里和最长公共子序列一样\((LCS)\)一样,子序列只要 ...
- HDU 1257 最少拦截系统(贪心 or LIS)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1257 最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 1257最少拦截系统[动态规划]
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1257 最 ...
- hdu 1257 最少拦截系统【贪心 || DP——LIS】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1257 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- HDU 1257 最少拦截系统 (DP || 贪心)
最少拦截系统 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- hdu 1257 最少拦截系统(动态规划 / 贪心)
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- POJ - 2533 Longest Ordered Subsequence与HDU - 1257 最少拦截系统 DP+贪心(最长上升子序列及最少序列个数)(LIS)
Longest Ordered Subsequence A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let ...
- HDU——1257最少拦截系统(贪心)
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- HDU 1257 最少拦截系统(Dilworth定理+LIS)
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
随机推荐
- 怎么写针对IE9的CSS
(自己亲自试过有用)针对IE9的CSS只需在相应CSS代码加入只有IE9识别的 \9\0.具体代码如下: .div{ background-color:#0f0\9\0;/* ie9 */ } 其他浏 ...
- PHP基础16:多维数组
<?php //1.PHP-两维数组 $cars=array ( array("Volvo",22,18), array("BMW",15,13), ar ...
- Windows和Linux上用C与Lua交互
Windos2010编译lua的方法: http://blog.csdn.net/appletreesujie/article/details/12065369 Linux编译lua的方法: make ...
- Go视频教程整理
[Go Web基础]01博客项目设计 |Go视频教程|Go语言基础 http://www.tudou.com/programs/view/gXZb9tGNsGU/ [Go Web基础]02初窥 Web ...
- ThinkPHP项目CMS内容管理系统开发视频教程【20课】(3.02GB)
ThinkPHP背景介绍: ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业级应用开发而诞生的. ...
- Python解析器源码加密系列之(一):标准c的tmpfile()、tmpfile_s()生成的临时文件究竟放在哪里了?
这两天由于修改python解释器的需求,需要用到tmpfile()来生成临时文件的FILE*,但是又担心这个临时文件是否存在于磁盘的某个地方,终究会被人找到,所以就简单做了以下几点实验,看看是否可以找 ...
- 20135208 20135212 LINUX第一次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级: 201352 姓名:池彬宁 贺邦 学号:2013521 ...
- JDSideMenu实现(整块)侧滑功能,主视图会和状态栏(StatusBar)会一起滑动。
JDSideMenu 实现侧边菜单功能,支持手势滑动.跟一般的侧边菜单不一样的是,滑动主视图,主视图会和状态栏(StatusBar)会一起滑动. demo 自行下载
- 分享我收集的引擎、图形学、WebGL方面的电子资料
本文分享我这一年以来收集的我认为比较经典的电子资料,希望能对大家有所帮助! 本文会不断更新! 目录 WebGL Insights OpenGL Insights Game Programming Pa ...
- 记录nginx 搭建集群环境踏过的坑
因为生产环境做了负载均衡,为了尽可能跟线上环境一致,所以想在本地也搭集群,这样测试更靠谱.首先就想到nginx 这货,搭个简单的web 服务器实在太简单了. nginx 这玩意11年简单玩过,那是版本 ...