zoukankan      html  css  js  c++  java
  • 2020 CSP&NOIP 游记

    CSP初赛

    CSP初赛 Day -1


    早上打了模拟赛,T2寒假正好做过,然而还是还是被踩Orz,郑外NB!。中午出校吃了大盘鸡和拉面,还带回来了三瓶可乐。

    初赛知识点看了两页不(看)想(不)看(懂)了。(HA初赛不是有手就行?)。

    晚上ATcoder手速+自闭场,英语还是太拉垮,读题浪费了不少时间,100min的比赛就写了10min题,剩下90min懵B(果然十分简单,九十分很难),但最后还是靠着手速拿到1500名,我还是太菜了QAQ。

    CSP初赛 Day 1


    考试前

    既然都请一上午假了,那就不用上课了吧?!
    翘了两节课在机房复习了一下初赛知识,主要看了一下二进制补码反码和各种计算机发展历史知识(结果都没考)。
    因为姓氏有点奇特,报名系统把名字c开头的我放到了最后面。
    于是,在考场的最后专门给我摆了张桌子,专业

    考试中

    感觉今年的单选比较简单,拿到了满分,最后一道题比较好蒙
    然后程序阅读题,纠结了半天不必要的逻辑和语法问题,最后还错了,语文老师泪目
    完善程序题感觉难度适中,分数背包跟背包有个锤子关系,最后一道题该不会还是不会,随便写了写。

    今年初试我做题速度格外的慢(去年从头蒙到尾能不快吗?),以至于很多地方没有思考清楚就瞎选了个上去,同时也有不少人坚持写题到最后一刻的(不像去年离收卷人都快走完了)。

    考试后

    出了考场没打算去上课,打算在机房淼一中午。看了网上一些dalao的讨论,大致对了对答案,发现蒙的基本没对,泪目

    CSP初赛 Day N


    出分

    找学弟要了成绩单,发现73.5分,河南第23,刚过ZJ线但凡我多蒙对一个选择也不至于...
    HA不出意料的有分就能过(也不知道全是选择判断的卷纸别人咋考的二三十分)。
    通过这次考试,我发现我的阅读能力还是太弱了,也让我重新审视了自己(弱的本质)。

    CSP复赛

    CSP复赛 Day 1


    到考场

    因为一些事情推迟了入场时间,我在考前敲了对拍和快读,但是,我对拍A+B测试程序的时候,终端关不掉了。我叫来staff,但尝试关闭无果。他就说句我也没办法,走人了(我淦)。
    结果考试期间对拍的窗口就一直开着,我还需要把我写的快读重新复制一份(因为开着终端程序运行不了),浪费了不少时间。

    考试中

    咱敢不敢弄点阳间的解压密码,我试了4次才知道带上括号,我大概花了25min浏览了一遍题目。
    T1是大模拟,相对思维难度较小(这应该是人均100,必须得拿到,因为不少人肯定4h死磕T1)。
    T2是二进制问题,应该是道结论题。
    T3应该是道线段树加某个东西优化。
    T4博弈论?,看到n<=10有40分感觉可以搞,后来发现不能

    T1

    2:55左右开始码。
    先写了日期一个一个往后推的暴力代码,用于对拍和计数,认真读题后调对程序大概3:40。
    然后开始考虑优化时间,我先用暴力代码计算出了到1582年10月4日(一下简称时间节点)的天数n1,进行分段处理。
    对于小于等于n1的r,用除法计算在r经过了多少个4年,然后一年一年算,最后暴力推日期。
    对于大于n1的r,先减去n1再将时间初值设为1582年10月15日,用除法计算在r经过了多少个400年,然后一年一年算,最后暴力推日期。
    写完并过了大样例(期间还打了输出和样例答案进行对比的的程序),然后与暴力挂着对拍时已经大概已经4:30了(感觉药丸)。
    updata:(感觉人均100的题全省好像就4个人A了吧)我觉得有必要感谢一下出题人全家,尤其是他的母亲

    T2

    读题花了好长时间,而且很迷惑,答案肯定是2^k-n(k与题目给的无关)啊。
    看了看样例,果然如此,顿时猜到了结论,并过掉了大样例,调程序花了不少时间,(期间优化了巨量内存,还尝试了map写法)。
    这时大概4:50,注意到了数据范围内的k<=64,发现需要特判,考虑了半天如何特判(这还用想),又花了10min。

    T3&T4

    写到T3大概5:00。认真读了题发现没我想得那么简单。
    我看到函数调用,我冒出了离奇的想法,如果一个函数直接或间接调用它本事将会产生环。
    那么就需要类似于降幂公式的数论知识解决该问题(然而我并不会)。
    于是看了看保证是树或Cj=0的部分分发现只有40,感觉还是T4的40好写,于是看了T4.
    花了10min读T4,发现并没有读懂题,滚回来写T3了。
    这时时间只有一个多小时了,莽线段树怕是要调不完并且T4的部分分肯定没有。
    于是尝试写树状数组,在考虑了好长时间后,发现不会(区间乘咋写来着?)。
    最后调了分块(考试完发现炸了),调完大概5:50,看T4。
    经过一定时间的深思熟虑(这时心态已经不行了),决定只写前20分。
    这时时间仅剩不多,在题意尚未明确的情况下胡写了写,样例都没过。已经快18:20了,已经可以交题了。
    因为害怕机器又出什么幺蛾子,我急忙清理了一下文件上交(发现过程十分顺畅),T4部分分没写。

    估分100+100+40+0=240
    交完题

    感觉人均340,我直接当场自闭,收拾下东西,滚了滚了。

    CSP复赛 Day 2

    睡了一天,晚上回校测了CSP发现(炸了啊啊啊啊阿)。

    T2读入数据写成了int,分数直接变玄学(下限65)。
    T3分块细节写错了,直接爆零,(改过之后玄学洛谷25,牛客60,oitiku75)。

    T4大概率0分。
    得分大概100+80+5=185。

    CSP复赛 Day 3

    早上回机房发现郑外那几个dalao也炸了(幸灾乐祸hhhh)。
    老师说全省就15个140+,(狂喜)。
    但是想到如果考场上合理规划一下时间,再细心一点,我也将得到更高的名次,不免有些失落。
    事已至此,流年匆忙,对错何妨?
    NOIP加油!

    NOIP

    Day -1

    上午竟然可以随便玩?!于是支起桌板打三国杀,第一回合自己还没摸牌被学妹四个杀秒了开始提前自闭。
    经历了CSP,参赛人数锐减,大巴车也小了很多,不过打王者还能凑齐五黑(雾)

    Day 1

    T1

    认真读了读题,反复确认无误后发现是拓扑+分数模拟(NOIP T1考图论了),敲完之后又考虑一大会
    发现似乎要用到高精,但分数因数似乎只有4个,且路径最多只经过10个点,long long应该也会有不少分吧?
    哪有正经菜鸡T1写高精?于是写了个long long搁那了。

    T2

    夭寿啦,NOIP考字符串了!题都不是很好懂的样子,不过通过肉眼观察样例理解了题目,想到了(O)((T)(n^{3}))的暴力。
    通过从左到右枚举A+B段右端点,并尽可能循环拓展计算答案,对于每个x*(A+B)+C成立的情况在(A+B)内枚举A,B的断点统计答案。
    这种暴力在均摊复杂度下极其优秀(因为字符串中出现循环节概率很低),大样例只跑了15s,趋近于(O)((T)(n^{2}))。
    接下来我写了只有单一字符的特殊点。写个前缀和因为不用判循环一直跳循环节就行了,
    复杂度大概是(O)((T)((n)+(n)(ln) (n)))。
    开始赛后口胡大暴力:
    可以发现(O)((n^{3}))的暴力时间复杂度局限在判断合法AB串分界位置以及循环节。
    显然,一个字符串出现奇数次的字符的数量(le) 26 废话,那么可以
    维护一个类似前缀和的东西(f)((i),(j))表示从(1-i)奇数次的字符的数量满足(le) j的位置,用(g)((i))表示从(i-n)奇数次的字符的数量。
    于是,对可成立的A+B字符串判断复杂度变成了预处理(O)(26(n)),查询(O)(1)。
    其次,可以用字符串哈希或KMP判循环节,将判循环节复杂度优化为调和级数级及(O)((n) (ln) (n))。
    加上这两个优化后复杂度大概在(O)( (T)(26(n)+(n) (ln) (n)) )。应该能拿很多分了吧?

    T3

    NOIP考SPJ了,类目
    不会跳过

    T4

    考场上没时间打估计也不会
    就打了个暴力还忘判-1了。

    出分

    60+56+0+25=141
    自闭。

  • 相关阅读:
    Windows 7 X64位平台下,VC6调试运行程序,中断调试无法退出
    在Windows中安装MinGW-w64(有图,一步一步)
    自我修养
    Core 事件总
    异步消息
    微信小程序
    安装Zookeeper集群
    Linux删除非空目录
    adoop集群动态添加和删除节点
    安装和配置hadoop集群步骤
  • 原文地址:https://www.cnblogs.com/isonder/p/13916115.html
Copyright © 2011-2022 走看看