• 20171108校内模拟赛


    哭死,lqz已经没救了。

    期望得分: 100 + 0 + 100

    实际得分: 50   + 0 +  0 / 30

    T1 有个本应该是int的数组开成了char,挂了50分。

    T2 没做

    T3一共写了三个不同的做法,最稳的一个一直到收代码后5min才调出来,考试的时候随便交了一个上去,结果linuxCEWindows30

    /*
        模拟每次得分情况就好
            madan坑我50分去
    */
    #include <cstdio>
    #include <iostream>
    
    #define Max 100
    char a[Max]; int f[Max];
    #define rg register
    inline void cmax (int &a, int b) { if (b > a) a = b; }
    std :: string Name = "soccer", _I = ".in", _O = ".out";
    int main (int argc, char *argv[])
    {
        freopen ((Name + _I).c_str (), "r", stdin);
        freopen ((Name + _O).c_str (), "w", stdout);
        int N; scanf ("%d", &N); rg int i, j;
        for (i = 1; i <= N; ++ i)
        {
            scanf ("%s", a + 1);
            for (j = 1; j <= N; ++ j)
                if (a[j] == 'W') f[i] += 3;
                else if (a[j] == 'L') f[j] += 3;
                else if (a[j] == 'D') ++ f[i], ++ f[j];
        }
        int Maxn = 0;
        
        for (i = 1; i <= N; ++ i) cmax (Maxn, f[i]);
        for (i = 1; i <= N; ++ i)
            if (f[i] == Maxn) printf (i == N ? "%d" : "%d ", i); 
        
        return 0;
    }

    并不想改T2

    /*
        set 维护一下就好
        考场上基本想到了标算
        但是维护最长空位置的数据结构我选的是堆
        比较难调
        set就好多了
        
        每次取出一段,取中点,然后把这段拆成两半,插入回set取
         
        把车开走就需要再维护一个set,存每次拆出的点。 
    */
    #include <cstdio>
    #include <iostream>
    #include <set>
    int N;
    #define rg register
    inline void read (int &n)
    {
        rg char c = getchar ();
        for (n = 0; !isdigit (c); c = getchar ());
        for (; isdigit (c); n = n * 10 + c - '0', c = getchar ());
    }
    #define Max 1000006
    struct D
    {
        int l, r; D (int a = 0, int b = 0) : l (a), r (b) {} 
        inline int gl () const
        {
            if (l == 1) return r;
            return r == N ? r - l + 1 : (l + r) / 2 - l + 1;
        }
        
        bool operator < (const D &rhs)  const 
        { return gl () == rhs.gl () ? l < rhs.l : (gl () > rhs.gl ()); }
        
    };
    std :: set <D> A; std :: set <int> B;
    int a[Max];
    int main (int argc, char *argv[])
    {
        freopen ("park.in", "r", stdin);
        freopen ("park.out", "w", stdout);
        int M; read (N), read (M); rg int i;
    #define ir insert
        A.ir (D (1, N)), B.ir (N + 1), B.ir (0);
        D n, p; int t, x, e;
        std :: set <int> :: iterator it;
        for (; M; -- M)
        {
            read (t), read (x);
            if (t == 1)
            {
                n = *A.begin (), A.erase (n);
                if (n.l == 1) e = 1, n.l = 2, A.ir (n);
                else if (n.r == N) e = N, n.r = N - 1, A.ir (n);
                else
                    e = n.l + n.r >> 1, p = n, n.r = e - 1, p.l = e + 1, A.ir (p), A.ir (n);
                printf ("%d
    ", a[x] = e); B.ir (e); continue;
            }
            it = B.find (a[x]);
            n.l = *(-- it) + 1, n.r = a[x] - 1, A.erase (n);
            p.l = a[x] + 1, p.r = *(++++ it) - 1, A.erase (p);
            n.r = p.r, A.ir (n); B.erase (a[x]), a[x] = 0;
        }
        return 0;
    }
  • 相关阅读:
    荧光机理的应用——光学式农药测量技术及系统设计
    滤光片应用——红外吸收粉尘传感器的设计
    磁靶向纳米Fe3O4-TiO2复合物对肝癌细胞的光催化杀伤效应研究
    常用荧光染料的激发波长和发射波长
    光害
    一文解读虚拟化服务器
    一文解读PRA
    主数据建设的挑战与发展
    数字孪生技术变革
    intellij idea:配置maven 3.8.2(intellij idea 2021.2)
  • 原文地址:https://www.cnblogs.com/ZlycerQan/p/7805809.html
Copyright © 2020-2023  润新知