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 ...
随机推荐
- 微软职位内部推荐-Principal Development Lead
微软近期Open的职位: Job Title: Principal Development Lead Work Location: Suzhou, China This is a once in a ...
- How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7
How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7 The problem Google developers s ...
- TortoiseGIT安装过程及问题
1,安装Git.一路默认 2,安装TortoiseGit,一路安装完毕.重启电脑. 3,配置TortoiseGit.这是最重要一步. 配置 remote,即远程地址,用于以后pull 或 push操作 ...
- Java 环境下使用 AES 加密的特殊问题处理
在 Java 环境下使用 AES 加密,在密钥长度和字节填充方面有一些比较特殊的处理. 1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误 ...
- selection伪元素小解
上一篇:<RGBA与Opacity区别小解> p{font-size:14px;} 今天说一个简单的伪元素::selection,它的用武之地仅在于改变选中文本时文本的颜色和文本背景颜色. ...
- 第一章 Javscript的数据类型
任何编程语言,都会讲到数据类型,那么我在这里也简述下Js的数据类型,在js里判断一个变量的数据类型用typeof() 简单数据类型undefined: 代表一切未知的事物,啥都没有,无法想象,代码 ...
- Android数据共享
Android数据共享 在Android应用程序开发的过程中,借助Bundle类对象来传递数据并不是在所有场景下都适用,就那简单的Intent类对象来说,就不能put进Bundle类对象中.当然不能否 ...
- 打造自己的MyLifeOrganized 2(MLO2)云同步
0x01 官方云同步,付费也很卡 MyLifeOrganized(MLO)是Windows平台下强大的GTD软件,PC版本和Android版本需要分别购买授权,云同步还要再买包月或包年服务真不便宜,关 ...
- commonjs amd cmd的区别
一篇博客告诉你三者的区别:http://zccst.iteye.com/blog/2215317 告诉你三者同requirejs seajs的区别:http://blog.chinaunix.net/ ...
- [USACO2005][poj2229]Sumsets(递推)
http://poj.org/problem?id=2229 分析: 显然的递推 若n为奇数,那么肯定是在n-1的基础上前面每个数+1,即f[n]=f[n-1] 若n为偶数 当第一位数字是1的时候,等 ...