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

来源:互联网 发布:vm共享文件夹 linux 编辑:程序博客网 时间:2024/06/12 09:43

题目链接:hdu1257

思路:为了使得使用的拦截系统最少,自然是要考虑使用与当前高度最接近的系统拦截(应该是贪心算法)

#include<stdio.h>#include<string.h>#include<algorithm>#include<vector>#include<queue>#include<math.h>#include<stack>using namespace std;#define inf 0x3f3f3f3f#define maxn 2100#define clears(a) memset(a,0,sizeof (a) )int n,m;int dp[maxn];int main(){while(~scanf("%d",&n)){m=0;int a;clears(dp);int flag;int mine;int pos;int res=0;for(int i=1;i<=n;i++){scanf("%d",&a);flag=0;mine=inf;for(int j=1;j<=res;j++){if(dp[j]>=a&&mine>dp[j]-a){mine=dp[j]-a;pos=j;flag=1;}}if(flag){dp[pos]=a;}else{res++;dp[res]=a;}}printf("%d\n",res);}return 0;}



原创粉丝点击