1257:最少拦截系统
来源:互联网 发布:淘宝发送优惠券给买家 编辑:程序博客网 时间:2024/06/05 03:49
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257
方法:贪心
思路:这道题原来做的时候是照着葫芦画瓢用DP做的,现在基本都忘的差不多了,DP确实很难,现在还不太懂。今天刷贪心,发现这题用贪心会简单一些。目前有两种基本思路,一是从头到尾捋一遍,只要能拦截的都拦截掉,然后再重新捋一遍,直到所有导弹都被拦截掉,这种方法比较直观。二是每次导弹来的时候,在已有的导弹系统中选择一个拦截,选择的标准就是当前打击高度距离当前导弹高度最近的那个系统,因为如果选择高度差较远的系统,由于该系统打完这一枚导弹之后高度就限定在了该高度上,等于是说这中间的高度差都被浪费了,所以要尽可能选择高度差小的系统,如果所有系统都不能拦截,就只能重新开辟一套系统。鉴于系统是不定的,所以用vector是非常好的选择。
难点:本题是一道极为经典的题目,还要深入钻研,另外,用vector可以省很多事儿。
#include<iostream>#include<vector>using namespace std;int main(){ int n; while(cin>>n) { int h; vector<int> v; cin>>h; v.push_back(h); n--; while(n--) { int flag = 0; int res = 0; int minum = 0x7ffffff; cin>>h; for(int i = 0;i < v.size();i++) { if(h <= v[i]&&minum > v[i] - h) { minum = v[i]-h; flag = 1; res = i; } } if(flag == 1) { v[res] = h; } if(flag == 0) { v.push_back(h); } } cout<<v.size()<<endl; }}
0 0
- 1257 最少拦截系统
- 1257:最少拦截系统
- 1257 最少拦截系统
- hdu 1257 最少拦截系统
- 最少拦截系统 hdu 1257
- HDU 1257 最少拦截系统
- HDU 1257 最少拦截系统
- hdoj 1257 最少拦截系统
- HDU 1257 最少拦截系统
- hdu 1257 最少拦截系统
- HDU 1257 最少拦截系统
- hdu 1257 最少拦截系统
- HDU 1257 最少拦截系统
- hdu 1257 最少拦截系统
- hdu 1257 最少拦截系统
- hdu 1257 最少拦截系统
- hdu 1257 最少拦截系统
- HDU 1257 最少拦截系统
- Fraction to Recurring Decimal
- 使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
- 使用pip来安装和管理第三方Python包(library)
- HowTo: Export C++ classes from a DLL
- 消息摘要算法HmacMD5的实现
- 1257:最少拦截系统
- SSH整合(一)——直接获取ApplicationContext
- Building real time app with Socket.io and Node.js
- 第一层第一题:你要的飞碟在这里
- WEB网站常见的攻击方法总结与原理分析
- 困扰我的【编程】-如果它能让你快乐-继续做!
- ios-下载管理类封装
- 黑马程序员——C语言基础---运算符
- 9.27