zoukankan      html  css  js  c++  java
  • [HDOJ1261]最少拦截系统

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257

    dp数组记录某套拦截系统当前可以拦截的高度。

    贪心可过,每读入一个导弹高度,和之前能打到的最低的比较,如果导弹比之前的高,那就要增加一套拦截系统,并且将此导弹的高度记录下来。如果比之前的低,那么让最近的比它高的那套拦截系统拦截它,并且更改那一套的dp值。

     1 #include <cstdio>
     2 #include <cstdlib>
     3 #include <cstring>
     4 #include <algorithm>
     5 #include <iostream>
     6 #include <cmath>
     7 #include <queue>
     8 #include <map>
     9 #include <set>
    10 #include <stack>
    11 #include <list>
    12 #include <vector>
    13 
    14 using namespace std;
    15 
    16 const int maxn = 30010;
    17 int n;
    18 int tmp;
    19 int dp[maxn];
    20 
    21 int main() {
    22     // freopen("in", "r", stdin);
    23     while(~scanf("%d", &n)) {
    24         int cnt = 1;
    25         int flag = 0;
    26         while(n--) {
    27             scanf("%d", &tmp);
    28             if(!flag) {
    29                 dp[0] = tmp;
    30                 flag = 1;
    31             }
    32             int i;
    33             for(i = 0; i < cnt; i++) {
    34                 if(tmp <= dp[i]) {
    35                     dp[i] = tmp;
    36                     break;
    37                 }
    38             }
    39             if(i == cnt) {
    40                 dp[cnt++] = tmp;
    41             }
    42         }
    43         printf("%d
    ", cnt);
    44     }
    45 }
  • 相关阅读:
    python requests模块
    python 模拟豆瓣登录(豆瓣6.0)
    python 抓取糗事百科糗图
    python bz2模块
    the python challenge闯关记录(9-16)
    python之PIL库(Image模块)
    python之zipfile
    python之pickle模块
    the python challenge闯关记录(0-8)
    KVO简介
  • 原文地址:https://www.cnblogs.com/kirai/p/4779552.html
Copyright © 2011-2022 走看看