zoukankan      html  css  js  c++  java
  • HDU 1257 最少拦截系统

    思路:dp[i]代表第i个拦截系统最后拦截的高度及最低值。贪心判断接下来那个导弹的高度与离它最近的之前所有拦截系统中的最近,不符合则开一个系统。

     1 #include<iostream>
     2 #include<string>
     3 #include<algorithm>
     4 #include<cstdlib>
     5 #include<cstdio>
     6 #include<set>
     7 #include<map>
     8 #include<vector>
     9 #include<cstring>
    10 #include<stack>
    11 #include<cmath>
    12 #include<queue>
    13 #include <bits/stdc++.h>
    14 using namespace std;
    15 #define INF 0x3f3f3f3f
    16 #define ll long long
    17 #define clc(a,b) memset(a,b,sizeof(a))
    18 const int maxn=4010;
    19 
    20 
    21 int main()
    22 {
    23     int n;
    24     int dp[maxn];
    25     while(~scanf("%d",&n))
    26     {
    27         clc(dp,0);
    28         int m=0;
    29         int x;
    30         scanf("%d",&x);
    31         dp[0]=x;
    32         int j;
    33         m++;
    34         for(int i=1; i<n; i++)
    35         {
    36             scanf("%d",&x);
    37             int flag=false;
    38             for(j=0; j<m; j++)
    39             {
    40                 if(x<=dp[j])
    41                 {
    42                     dp[j]=x;
    43                     flag=true;
    44                     break;
    45                 }
    46             }
    47             if(!flag)
    48                 dp[m++]=x;
    49         }
    50         printf("%d
    ",m);
    51     }
    52     return 0;
    53 }
    View Code
  • 相关阅读:
    app-授权登录插件配置
    微信公众号-公众号设置-功能设置
    Java变量
    Java数据类型
    计算机存储单元
    Java常量
    k8s
    第一个Java程序
    旋转木马
    tools
  • 原文地址:https://www.cnblogs.com/ITUPC/p/5181626.html
Copyright © 2011-2022 走看看