zoukankan      html  css  js  c++  java
  • 【NOIP2016】普及组复赛赛后总结

    虽然真实成绩还没出来,但也在一个OJ上自己测了(民间数据):

    https://www.luogu.org/contest/show?tid=1265

    (比赛已关闭,但题是可以交的)

    PS:带蓝色是题解链接

    以下总结下普及组考后各种恶心,想吐,难受,想哭的东西:

    1.第一题,额……不用说,只是为了不打击我们脆弱的心灵而已。


    2.第二题,辛辛苦苦写了100行,调了1小时的代码只得了50分……(。•ˇ‸ˇ•。)不服!一个pascal的11行代码骗了60分(请欣赏):

    var
    x,y:string;
    i:integer;
    begin
    readln(x);
    readln(y);
    for i:=1 to 4 do
     if(x[i]<>x[8-i+1])
      then begin writeln(0);exit;end;
    writeln(1);
    end.
    虽然是学的C++,但这种代码还是没问题的,他只是完成60%的子任务,早知道我也只看第一个子任务了,我的10分,❤疼……

    还是把自己看高了,信心满满地打了一大篇……还不如完成子任务,so,以后还是自持点……好好骗分就够了


    最后两道就极其爽……猥琐!了,一道爆空间,一道爆时间……


    3.我很伤心(;′⌒`)整整30分,只是因为不会算空间(狂扇自己巴掌)!请看暴搜代码:

    #include<cstdio>
    #include<cstring>
    #define H 86400
    #define MAXN 350//就是这里
    int n;
    int t[MAXN+5],na[MAXN+5][MAXN+5],p[MAXN+5];
    bool f[MAXN+5];
    int main()
    {
        //freopen("port.in","r",stdin);
        //freopen("port.out","w",stdout);
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            int sum=0;
            scanf("%d%d",&t[i],&p[i]);
            for(int j=1;j<=p[i];j++)
            {
                scanf("%d",&na[i][j]);
                if(!f[na[i][j]])
                {
                    sum++;
                    f[na[i][j]]=true;
                }
            }
            int tb=t[i]-H;
            for(int j=1;j<=i;j++)
            {
                if(t[j]<=tb)
                    continue;
                for(int k=1;k<=p[j];k++)
                    if(!f[na[j][k]])
                    {
                        sum++;
                        f[na[j][k]]=true;
                    }
            }
            printf("%d
    ",sum);
            memset(f,false,sizeof(f));
        }
        //fclose(stdin);
        //fclose(stdout);
        return 0;
    }

    其他的不想多说只是看看第四行,350……知道我怎么算的空间吗?

    printf("%d",(sizeof(t)+sizeof(na)+sizeof(p)+sizeof(f))/1024);
    只除了一个1024!!然而,前面是字节!字节!字节!(B)

    甜辣卤!我其实一直在想这个问题,这样好大啊,但,我却一直在跟KB较真,事实上KB的确只需要除以一个1024即可,请允许我再说一遍:前面是字节!字节!字节!(B) -->前面是字节!字节!字节!(B)(重要的事情说9遍)

    所以……要除2遍1024!!于是我们愉快地失去了30分……烦啊!!


    4.暴搜嘛,然而还是少了5分……大家先看看这样一道题:

    输入3个数,如果它们是升序排列,输出yes,反之输出no

    好简单啊,好的,请看我的:

    if(x[a]<x[b]&&x[a]<x[c]&&x[a]<x[d]&&x[b]<x[c]&&x[b]<x[d]&&x[c]<x[d])//不用在意用的数组
    			printf("yes");
    你知道咩(反正我当时不知道(再次扇巴掌)),事实上直接这样就行了:

    if(x[a]<x[b]&&x[b]<x[c]&&x[c]<x[d])
    			printf("yes");
    好像也无伤大雅……这道题是的,如果改成了:有多组数据(<100^4)总时间限制1S,用第一种显然会慢很多(所谓小流积大河),而后一种是较快的……

    so考试这道题爆搜四重循环,让我们算算,(6-3)*100^4……呵呵呵呵我就呵呵。于是又少了5分(一个点)。


    最后,这次一共不该失的分有45分!!整整45分啊……(ㄒoㄒ)~~


    ps:成绩出来才发现事实上数据很水,第二题我竟然得了70分……

                                                                                                                                                                               By WZY

  • 相关阅读:
    一张大图看懂Mvc启动过程
    NopCommerce 3. Controller 分析
    NopCommerce 1. NopCommerce Application_Start启动过程
    sublime addons backup
    vs2012中使用localdb实例还原一个sql server 2008r2版本的数据库
    使用TestNG进行浏览器(IE、Chrome、FireFox)并发兼容性测试
    Selenium调用IE时报“The path to the driver executable must be set by the webdriver.ie.driver system property”
    启动带有用户配置信息的FireFox浏览器
    Selenium_Chrome浏览器调用
    Selenium_IE11_FireFox调用实例
  • 原文地址:https://www.cnblogs.com/LinqiongTaoist/p/7203749.html
Copyright © 2011-2022 走看看