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

    这题还是有点意思的,有个数据可以试试:

    8 7 6 5 6 3 2 4 1。答案是2而非3。问题就在于:拦截系统用完并非消失,以后有可以用的时候还是可以用的。

    那么对于每个导弹,贪心地用被利用得已经高度最低的拦截系统去处理它,如果没有能处理的时候就增加个拦截系统。知道思路之后自己写就行了。

    #include <iostream>
    #include <bits/stdc++.h>
    using namespace std;
    
    #define ll long long
    #define mst(a,b) memset(a,b,sizeof(a))
    #define rep(i,a,b) for(ll i=(a);i<(b);++i)
    #define scf(n) scanf("%d", &(n));
    const int inf = 0x3f3f3f3f, maxN = 1e4 + 5;
    int N, M, T;
    int dd[maxN];
    int xt[maxN];
    
    int main() {
    #ifndef ONLINE_JUDGE
        freopen("data.in", "r", stdin);
    #endif
        while (~scanf("%d", &N) && N) {
            rep(i, 0, N) scf(dd[i]);
            mst(xt, -inf);
    
            int cnt = 0;
            rep(i, 0, N) {
                int minIdx = 0, minV = inf;
                int ok = 0;
                rep(j, 0, cnt) {
                    if (xt[j] >= dd[i] && xt[j] < minV) {
                        minV = xt[j];
                        minIdx = j;
                    }
                }
                if (minV != inf && minV >= dd[i])
                    ok = 1;
                if (!ok)
                    xt[cnt++] = dd[i];
                else
                    xt[minIdx] = dd[i];
            }
            printf("%d
    ", cnt);
        }
        return 0;
    }
  • 相关阅读:
    猴子选大王(约瑟夫环)
    centos 安装thrift
    KMP字符串匹配算法
    会话技术整理
    PHP数组整理版
    PHP基础知识6【系统内置函数--数组】
    PHP基础知识5【系统内置函数--字符串】
    PHP基础知识笔记4
    PHP基础知识笔记3
    PHP基础知识笔记2
  • 原文地址:https://www.cnblogs.com/Rosebud/p/9158168.html
Copyright © 2011-2022 走看看