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 ...
随机推荐
- 微信开放平台,微信登陆第三方网站 提示redirect_uri 参数错误
在微信开放平台上我填写的回调域是:bbs.qiaoshisui.com/LoginApi/WeiXinCallBack,我构造的链接是:https://open.weixin.qq.com/conne ...
- ZooKeeper学习第四期---构建ZooKeeper应用
一.配置服务 配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分.简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和 ...
- Random()方法的使用
import java.util.*;public class RandomTest { public static void main(String[] args) { double i = Ma ...
- [CareerCup] 1.6 Rotate Image 翻转图像
1.6 Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, write a m ...
- LeetCode 334 Increasing Triplet
这个题是说看一个没有排序的数组里面有没有三个递增的子序列,也即: Return true if there exists i, j, k such that arr[i] < arr[j] &l ...
- IOS开发之—— 上传头像的使用
static NSString *const uploadSuccess = @"更改头像成功"; @interface DMAccountInformationViewContr ...
- HoloLens开发手记 - Unity之Keyboard input 键盘输入
虽然HoloLens支持很多种输入方式,包括蓝牙键盘在内.但是大部分应用还是不能断定用户有物理键盘可以输入,所以虚拟键盘输入还是必须要提供的. Unity提供了一个TouchScreenKeyboar ...
- TO~亲爱的自己
你累的时候,谢绝别人的肩膀: 你扛不动的时候,拒绝别人的帮忙: 你和别人吃饭,不让别人买单你总是想我这样优秀善良, 总不给别人添麻烦,为什么总是找不到爱的人呢? 有时,爱只有在相处时才能找得到的, 是 ...
- Webform之Repeater中的单选和多选的应用以及前段JS的实现
HTML中的代码 <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate&g ...
- poj1308 并查集
比较恶心 1: 0 0 空树是一棵树 2: 1 1 0 0 不是树 3: 1 2 1 2 0 0 不是树... 4: 1 2 2 3 4 5 不是树 森林不算是树 5: 1 2 2 3 3 4 4 5 ...