• NOIP2018 退役记


    手动博客搬家: 本文发表于20181112 08:25:07, 原地址https://blog.csdn.net/suncongbo/article/details/83961273


    以下为退役记

    11.09 Day0
    报到日。
    前几天觉得自己没希望了,开始作死搞一些奇怪的东西,比如网络流和LCT……最后一天就看了看今年NOI考的exCRT,推了一波发现可行,就写了。
    去报到的时候排队,(天大寒,砚冰坚,手指不可屈伸(呸,什么玩意))反正就是非常冷啊,黑天了,还让我们都在外面排队,并且这个办事效率也是挺***的。后来实在等不及了就去旁边调exCRT去了,最后也没调出来。。最后还好是抽到了这边的考场。顺便膜了一波wzm初二巨佬。
    考试前几天心态正好越来越崩,各种模拟赛被虐,甚至10月28日那天差点跟家长说“我考完noip就退役”。现在倒是有点庆幸当时没冲动真的退役,不过反正我继续搞我也不可能会有希望的。
    试机,敲了个Dijkstra和Floyd对拍,Floyd写挂调了半小时,直到试机结束。心态崩崩崩崩崩。无所畏惧。最后啥都没拍成。
    六边形考场差评!
    转眼就到了晚上,看到空间里狂转rp++然后就跟了几句风。然后收到了某些人的祝福和鼓励,就随便回应了几句,其实还是十分感谢的。
    这次我为了准备NOIP停了两个月的课,希望能有个好结果吧。我想。然后就做起梦来了。然而并没有梦到题,也没有梦到原题。

    11.10 Day1
    吃完早饭后强忍腹痛进了考场。
    马上就是NOIP2018了,马上……
    飞雪连天。(密码)
    打开题目:题目名字很不友善啊,怎么,T2是我最烦的货币系统?看着就害怕。T1和T3题目名字看起来都不太可做啊。难不成要gg?gg是必须的。
    Intel Core i7-8700k 3.74GHz ???
    然后看T1: 咦这不是NOIP2013原题吗?2018年考2013年原题可还行??8:31分写完关掉没管。势头不对。
    看T2: 咦这什么玩意?数论?图论?ex小凯的疑惑?完了我T2都不会了咋办啊,这一年要完了啊……(心态已经开始崩)
    8:45 猜了个结论:留下的一定是原价值的子集。
    9:00 会证这个结论了。行吧那看看数据范围,什么(n)(100), (m)(25000)(T)(20)?这个复杂度的话,(O(NMT)=100 imes 25000 imes 20=5 imes 10^8)(算错复杂度埋下祸根),这个复杂度能过才怪,肯定是(O(Tn^3))的,我就当(M)(10^{18})好了!
    不知道自己哪来的这个胆量。考什么?Subset sum (n=100)? 考我们拿图灵奖?
    整个人慌掉。心态,崩崩崩崩崩。算了说不定这个题是个像天天爱跑步一样的题,先不管了保持心态去看看T3去。不过既然我不会做T2那么为了保证A掉两道题就必须想出T3正解。(埋下祸根)
    最小值最大?二分答案?树形dp?有点像bzoj3717的双重状态?然后瞎转移?(O(nlog n)?) 一个log五万还单组数据,CCF老爷机再慢应该也不至于这样吧!算了不管了我先随便写写,半小时应该能写完。
    9:20 写着写着发现出问题了,要对每个点确定转移顺序!这个多半是个贪心吧,于是我思考了一下想出了这样的贪心策略:

    对于每一个点,设f[x]表示x子树内最多选多少条链,
    g[x]表示在f[x]状态基础上x号点最长有多长。
    设当前二分的答案为mid,
    每次找出使得g[x]+g[y]>=M的最小的g[y],如果有,就更新f[x]和g[x]=0,
    否则g[x]+=g[y].
    

    然后,口胡一时爽,实现火葬场。。。我上考场十分紧张,代码能力变为零,一调调了两小时,还一直调不出来啊……我十分害怕,总不至于这场只有原题的(100)分吧,于是慌乱之中又去看了一下T2.
    这时我的T3树形dp思路提醒了我用dp的思想去考虑T2。卧槽……这不是傻逼完全背包吗????一算复杂度(O(NMT)=5 imes 10^7)不是(5 imes 10^8)。。。。超稳的复杂度了。。我真的是大SB,完全背包都不会了呢。
    超好写代码,(5min)打完,没拍,不管。此时是(10:45), 前两题都不拍了,我只想把T3刚出来。没想到经过T2一换脑子,(10:50)就把T3调过了小样例。我十分激动,“阿克”两个字其妙划过脑际。难道真的要AK?手颤抖着测了大样例,立刻被残酷的现实泼了一盆冷水——大样例是(26282)我输出的(26175). 差了(100)多。
    一看到这个我顿时懵了,因为最可怕的是我不清楚到底是我的算法有问题还是我的代码写挂了。于是我决定在最后的(65min)里先花(30min)检查代码,然后再花(10min)检查思路,如果还不行的话就剩下(25min)(O(sum du[i]!))(55)分暴力。从信心满满到焦虑不安又到绝望。(30min)过去了我没有查出代码错误,26175纹丝不动。然后去检查思路,也没检查出错误来,而且我还在检查思路上多花了(10min), 导致只有(15min)写暴力,最后也没调出来,55分都得不到了。
    慌乱、慌乱、慌乱,随便检查了一下文件,考试结束,匆匆离场。

    考完之后总是潦草离场,
    向往AK的人最荒唐。
    

    出考场:
    yzx: "今天题没区分度啊T1T2大家都会"——GG;“T3(55)分白送啊”——GG
    hyw: "我可能AK了。"——GG
    脑补: wzmAK lkyAK
    wph 1.5hAK
    某群投票:“你们用了多长时间写完今天的题: A.1h B.2h C. 3h D. 3.5h”
    当时心情简直差到无法描述,直接找了一个路边开始发泄。哭了大概(3h)吧,一直到了下午(15:00)左右才稍微缓过来一点。一个赛季废了,我想。
    中午没吃饭。
    后来和hyw讨论了半天才确定孰是孰非,原来我们思路都错了,我错的更离谱。简直可怕。但是我如果代码不写挂,错误思路是能够保证拿到六七十分的。
    下午搞了搞昨天没调完的exCRT(NOI2018屠龙勇士,lky:"我两个月前就写了这题"),口胡了一下pj的题,做了个bzoj 1556没写完,睡了。
    也许这是最后一个与OI作伴的夜晚。
    寒风刺骨。并没见到飞雪连天。不如四月的烟台。
    好像除了hyw和lky之外都不太知道我考砸了,居然还说我阿克了。呵呵。
    最后又收到了hyw的安慰和祝福。十分感谢。并且确实有人写的假做法,实际上阿克的人也并没有那么多(实际上刚才列的那几位除了wph巨巨之外都没阿克)。
    不过丢了的分还是丢了,一去不复返。2018赛季已经废了。
    梦里依然没有梦见什么题。晚上在群里问了一句“请问NOIPday2会出day1原题吗”以及“请问NOIPtg会出当年pj原题加强版吗”。

    11.11 Day2

    我要翻盘!
    我要翻盘!
    我要翻盘!
    

    粘锅了。。。。
    笑书神侠。(密码)
    发题,先看T3。woc这不是动态dp?真被某ymh奶中了?(梗:qdez学长ymh打赌今年NOIP必考LCT, 动态DP与FFT。)完了我这三个里唯一不会的就是动态DP,还真考了。。不会是要手推动态dp?呜我还有点印象硕爷跟我说过是什么树剖完了用线段树维护个另类矩阵乘法?怎么维护来着的?当时没仔细看。
    不过这玩意(44)分好像是个裸的树形dp, 20min敲完。
    另外,还开场(3min)就一本正经地问老师第三题的数据范围出了什么锅。获得成就:考场上崩人心态。嘿嘿嘿
    然后就去看了看T1,一紧张发现不会做……怕是又出了不会做CF Div.2 C但会做E的情况。树的肯定能做,目前得分才(60+0+44), 莫名其妙地就陷入了恐慌。我一直在想T2T3做不出来不要紧,可是T1做不出来实在是天理难容!然后就一直在紧张和焦虑中度过了(1.5 h), 直到(2h)的时候才稍微缓过点来,可以专心地思考问题。
    其实我在这期间想出了一个T1的做法,特别难写,所以没写。后来出考场和hyw对了一下,hyw写的是那种做法,终测只得了(84)分不知是算法错误还是代码写挂。反正当时我没敢写。
    还有(1h)时,我紧张地去看了T2,发现不仅正解不会,爆搜也很难写!推了推觉得(n=2)应该是(4 imes 3^{n-1})吧,就写了。
    想去想正解,结果发现样例算不出来。gg。我心想: T2只有(30)分,太低了。
    在大约(11:30)的时候我想出并写完了T1——直接枚举断开的位置即可!果然是Div2. C题难度我不会做。
    但是(n=5000)我有被卡常的风险,我也顾不上那么多了,卡常就卡常吧。
    在考场上我完全不能接受这个结果,因为我要翻盘230+!然后当发现T3可以用前后缀dp(+8)分之后,我的最后20分钟不遗余力地砸给了那(8)分。最后得到了。
    然后,就。。。。。
    结束铃声打响了,我几乎又要哭着走出考场。估分(100+30+52=182). 连(200)都没上。
    一出考场hyw就跟我说前后缀dp可以(+20)!!我仔细看了一下的确是的。。A1和A2都可以的。本来可以(64)的最后只有(52)了喵。

    后事
    考试结束后几天,JS省巨佬wph突然说:“完了我D2T2没取模!完了总分上不了500了……”
    当时我还不以为然,心想快速幂不是习惯性的取个模吗。但是发选手代码时,我看到我的day2t2:

    #define P 1e9+7
    long long quickpow(long long x,long long y)
    {
    	...
    }
    void solved()
    {
    	printf("%lld
    ",4*quickpow(3,n-1));
    }
    

    什么?!我乘以(4)居然没取模?!那一刻大脑一片空白……
    那么我这(30)分的代码只有四分之一概率正确。
    不知为何,当我刚才重新在博客里写这段代码时,我习惯性地加上了%P。但是在考场上我不知怎样,竟然,就是没有加上……
    随后又发现,这个day2t2就算是爆搜写不出来,(n,mle 3)(20)分都是送的。

    if(n>m) swap(n,m);
    if(n==1) {printf("%d",(1<<m));}
    else if(n==2) {printf("%d",m==2 ? 12 : 48);}
    else if(n==3) {printf("112");}
    

    我居然没有看出来。

    那几天文化课也搞不好OI也不肯学,日日夜夜念念不忘死去的NOIP2018.
    因为它对我来说,真的是一场永远的痛,无法抹去。
    如果day2再给我一次机会,我一定打到(100+50+64=214).
    可是这又有什么用呢?没有如果。现在我的估分是(100+0+52=152).
    竞赛成就了许多人,更牺牲了无数人。
    而我,大概就是那个永远的分母吧。

    直到后来出了源代码,我犹豫不决地不敢测。hyw告诉我我的洛谷分和她一样,442。正睿分比她高一点,463。最后CCF的数据好像day1 t3比较强,于是我被卡到了下限(70)分。hyw也被卡到了下限(80)分。我的day2t2的(30)分代码有四分之一的概率正确,最后得了(10)分。于是最后的得分就是,(100+100+70+100+10+52=432), SD rank45。
    去年我A三题,今年还是A三题。
    去年我去掉2018毕业的是第48名,今年第45。
    实在是看不出自己有何进步。
    尽管自己感觉自己变强了一些,可是……貌似全世界的人都在变强,而且速度还比我要快好多呢…
    最后引用ckw(SD rk1巨佬)的一句话:这么多年过去了,自己还是当时那个自己吗?

    附我周围人的成绩

    ckw (SD rk1) 565
    zyb (SD rk2) 552
    wqy (SD rk3) 530
    rqy 518
    zyh 517
    ws 509
    ptx 490
    wph 488
    lyf 484
    sjk 472
    wpc 464
    zzs 455
    ght 449
    hyw 445
    恭喜以上同学爆碾本蒟蒻。
    ksj 437
    szh 345
    祝高二学长好运。
    lky 353
    lbx 337
    zyp 290
    ll 270
    wzm 269
    初二初三巨佬orz。
    

    总结与反思
    emmmm
    后面两题再怎么难,起码也应该鼓捣点暴力分吧?检验是否取模一定要用多组数值相差比较大的数据,考试时我直接用了2 10000002 999999测了都没爆就当没问题了。可是(1000000)(999999)这么接近,还是有很大偶然性的,乘以(4)没取模这种错误很有可能被掩盖。应该用类似于2 500000之类的数测一测试试。另外,特判会不?平常写这种题从来不忘记特判(1), 一上考场果然什么事都会发生。这一题本来能(50), 我得了(10).
    day2 t3,仔细看数据范围了没有?不过这个也没啥办法,没时间了,如果有时间的话也许就看见了吧。但是,就算我只有时间写A1和A2中的一个,那么是不是A2还多4分?这一题本来能(64), 我得了(52).
    最重要的是心态问题了。考场上千万不要想什么目标分数之类的,还有什么我去年A3T今年要A4T,统统不要!不要制订任何目标,或者,不要对自己有任何希望。有时把自己当成一个比去年还naïve的什么都不会的没希望的傻*去考,反而还会释然一些,心态放松自然就不会犯平常从来不犯的低级错误了。会做的分都得到,便是胜利
    完结不撒花。

    UPD: 我果然没拿省一没进WC. SD据说有23个名额,分数线(454), 就算初中有优惠也没我的事了。我可能真的该退役了。
    不过,当我发现我在各种OJ上还有好多有趣的毒瘤题我还没有做,有好多有意思的东西我还没学时,我发现——我还不想退役!我还不想退役!!我还不想退役!!!
    QDEZ高二的学长们面对的压力比我大很多,他们还要硬着头皮打下去,我还有什么理由这样放弃呢?
    尽管知道自己没有任何希望,但是还是应该继续打下去。“以那断句残篇向岁月吊唁”…
    接下来的省选、CTSC、APIO,我不可能有任何成绩,但是,依然要尽力地打!!

    我写完了。

    UPD: 现在是2019年1月。最终结果是WC和THUWC都没给我资格,而我成为PKUWC最后一批有资格的学生。

    UPD: 现在是2019年暑假,NOIP2018已经过去八个月了。让我针对上一份update更新几句。
    “接下来的省选、CTSC、APIO,我不可能有任何成绩,但是,依然要尽力地打!!”
    真没想到青岛自招政策变成了这样,导致我准备中考CTSC和APIO都没参加,自然没有成绩了
    省选的话。。我压根没有准备,一直都是“参与一下而已”的心理。4月6日至7日一轮省选,一如既往的凉凉,算上NOIP总分rank37. 5月7日二轮day1不知为何竟打到了rank6(18人同分),由于这是占比最高的一场,所以我省选总成绩SD rank36, 恰好位于省队名额的三倍,按规定可以申请D类。5月30日出结果,申请成功,然后就到了现在……
    NOI2019,D类Cu滚粗,本赛季终。

  • 相关阅读:
    JavaScript的系统函数学习
    Web开发过程中要注意的问题 [转]
    试图运行项目时出错:无法在web服务器上启动项目得解决办法
    不错的函数
    js 学习笔记
    [转载]学习英语之写作篇 (兼考拉回国杂记之八)
    [转载]学习英语之阅读篇 (兼考拉回国杂记之七)
    转载 在WPF中使用Microsoft Chart Controls (MSchart)
    word excel ppt 简单实用总结
    (转)深入浅出WPF(1)——什么是WPF
  • 原文地址:https://www.cnblogs.com/suncongbo/p/10311190.html
Copyright © 2020-2023  润新知