• 列车调度


    【题目分析】

      构造一个队列(先进先出)进行模拟,因为要输出N,N-1,N-1,……,1,所以在每次加入元素时,只要比较已有的队列中的队尾元素,当队尾元素比加入的元素大时可以把加入的元素放在这个队列的队尾,否则新成立一个队列,时间复杂度O(n^2),十万的数据可定会超时,然而...此题数据略水,被我卡过了

     

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std;
    int n;
    
    struct node{
        int head,tail;
    }q[100010];
    int cnt=0,x;
    
    int main()
    {
        freopen("manage.in","r",stdin);
        freopen("manage.out","w",stdout);
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&x);
            int flag=0;
            for(int j=1;j<=cnt;j++)
                if(q[j].tail>x)
                {
                    q[j].tail=x;
                    flag=1;
                    break;
                }
            if(flag==0)
                q[++cnt].tail=x;
        }
        printf("%d",cnt);
        fclose(stdin);fclose(stdout);
        return 0;
    }

    正解据说是拦截导弹第二问

    #include <cstdio>
    using namespace std;
    #define MAX 100000
    #define INF 100000000
    int a[MAX],c[MAX],len;
    int find(int L,int R,int x)
    {
        if (L == R) return L;
        int mid = (L+R)>>1;
        if (c[mid] < x)
            return find(mid+1,len,x);
        else
            return find(L,mid,x);
    }
    int main()
    {
        freopen("manage.in", "r", stdin);
        freopen("manage.out", "w", stdout);
    
        int i,n,t,m,T,b,k,ans,j,max;
    
        scanf("%d", &n);
        for(i = 0; i < n; i++)
            scanf("%d", &a[i]);
        len = 0;
        c[0] = -INF;
        for(i = 0; i < n; i++)
        {
            if (a[i] > c[len])
                j = ++len;
            else
                j = find(1, len, a[i]);
            c[j] = a[i];
        }
        printf("%d
    ",len);
        return 0;
    }
  • 相关阅读:
    理解k8s资源限制系列(二):cpu time
    计算机网络 第五章:传输层
    SYN 攻击原理及解决方法
    Lua中 pairs和ipairs的区别
    nginx里的变量,实现简单过滤。
    LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
    Lua中的loadfile、dofile、require详解
    NGINX 上的限流
    shell 输出json格式的内容
    xilinx资源
  • 原文地址:https://www.cnblogs.com/xiaoningmeng/p/5997050.html
Copyright © 2020-2023  润新知