mcfx's blog

题解、Writeup、游记和碎碎念

OI回忆录

前言

9月15日凌晨2:03,离ddl还有不到22小时,我看着只字未动的线代作业(还有其他若干ddl),打开了word写情系母校……
本文是因为情系母校的ddl才写的

正文

一开始接触到oi是初中时,那是我已经会了一些基础的编程(VB,因为我一开始想造窗口程序,然后就没有动力去学别的语言了……),而在信息技术课上听到老师讲到有这么个竞赛,我就来了兴趣,去学校开设的竞赛班上学习。当时发了一本蓝书和一本黄书,然后蓝书上的基础内容(好像)我很快就学会了,但是黄书上一个基础dp我在接下来几个月或是1~2年的时间内都没有搞懂。在初二时我用这半吊子水平去参加了noip普及组(说起来noip都没了2333),然后竟成功的拿了省并列第一(和黄轶之)。初三时学校不让参加noip提高组,于是再去参加了普及组,然后AK了。这时我也在周末来到了成都七中旁听oi讲座。记得当时学校还办过一次(?)比较大的培训。初二和初三期间,由于我的兴趣有所转移(想做点网页),于是又学了(一些极其基础的)php,然后搞了些naïve的小项目(当然vb的小项目也是有许多的(看了看一堆烂尾的项目,我原来那时就成为鸽子了吗,,,))。

很快初中毕业了,我的oi水平还是极其低下(可能提高组300分左右吧),然后这时进了七中。首先面临的挑战是夏令营,因为我从没有过住校经历。记得似乎我是把衣服从后面塞给我妈洗的。另外印象比较深还有两件事,一件是当时我正在手写一个php的博客(虽然写了前台之后就咕掉封存起来了),另一件是夏令营期间re0热播,然后我以此入了宅。夏令营之后,和我预想的一样,进了学校oi集训队。

进入高中之后的前几周是怎样度过的已经不记得了,感觉只上了一个月文化课,之后就再也没上过。一开始停课时,蔺老(教练)是支持的,然而我妈不支持,于是蔺老让我妈去和yjq妈妈等人联系,学习停课的好处,最后她终于同意了停课(她现在回想起来觉得十分正确)。接下来就是长久的机房生活了。每天除了考试、听讲座、做题,基本就没什么别的事需要干了。这时在我妈的督促下,我也开始了每天晚上跑步。然而因为雾霾和我太鸽,仅仅几天之后就几乎再也没跑过。在这段时间里,我也买了台vps,开了个博客,有了比较稳定的番蔷工具,然后经常觉得有不错的题就往博客上挂。蔺老也开设了一个公共的csdn博客,我也往上挂了几次。

很快到了noip(实际上前面所列举的事情有的可能发生在noip之后,但是记不清并且难以考证所以就这样吧),我已经忘记了当时是抱着怎样的心情参赛,以及参赛过程中发生了什么,只记得当代码下发的那一天,在科技楼404室中,chen_xun和blutrex等人测试成绩时(似乎)调试了半天。

之后发生了两件事,floj的搭建和去八十中集训。我去了八十中,而我恍惚记得似乎参与或是围观了floj的搭建,但是根据徐西岭的oi回忆录,以及floj最早的提交记录,这两件事似乎是同时发生的,但是因为我实在记不清,在此就把两件事分开叙述好了。(根据下文uoj上的提交时间来看,可能搭floj比较早,然后是徐西岭记错了?)

首先是八十中集训,当时和lxl和花爸爸分了一个寝室(可能是自选的),然后和他们一起去买了一堆零食,(顺便在汉堡王吃了晚饭?)。讲课的具体内容我已经记不太清,只知道讲课内容我大概有许多部分没听懂。而自习等时间我很多都咕掉,去了寝室颓废。当时还没有无限流量的手机卡,而学校不提供开放的wifi,于是我只好看之前已经下好的番。印象比较深的还有一件事,就是在这期间去uoj上过了一道造计算机题

接下来是搭floj。当时看到了uoj开源的消息,cx和xp(小胖=blutrex)就决定搭一个,我也跟着去一边凑热闹。当时好像因为docker的问题折腾了一段不短的时间。之后一段时间,xp又给floj增加了网页上传数据的功能和文件管理及分享的功能。

之后是在杭州学军中学举办的清华冬令营。冬令营前不久,我学了LCT,但是没有太学懂,只粗略的背了代码,会用板子,而代码的细节不记得了。在考试当天中午(如果我没记错是下午考试),我坐在床上拿手机看这LCT板子,心里想着下午应该不会考吧,于是关掉了窗口,开始午休。不幸的是,下午果真考了LCT,然后我记错了细节导致调不出来。虽然我感觉我提交答案题分数可能还不错,但还是因此没能进入面试。记得当时我还是比较沮丧,靠着最后去杭州的西溪湿地公园游玩恢复了过来。

又经过一段时间的学校集训,接下来我去了长沙雅礼中学集训。集训的内容我也已经记不清,只记得休息时间基本都在看番,以及吃了很多顿外卖。还有一件事是,当时要求每个人分享两道题,我绞尽脑汁选出了两道题分享,没想到还被评为了优秀,获得了500元现金奖励(虽然和学费比起来是九牛一毛)。

雅礼集训结束后不久便是省选。省选前去电子科大集训。当时的考试题记得有的连数据都是错的,之后也没人订正,我们只好自行造了数据挂在floj上测试。另外有趣的事情是那边的内网和七中的内网是直连的(似乎是成都教育局自行组的网)。省选的题目有两道在floj上没有,我也想不起来,而有趣的事情发生了。当day2的成绩出来时,t3除了南山同学,最高分30(我和f321dd),而南山同学50、70、100都有。甚至其中有一位女同学没有过最简单的题(普及组难度dp)。最后虽然被ns的卡出了A队,我还是以七中第一的分数进入了省队。省选过后,我也基本接过了掌管floj的大权。

省选后不久便是CTSC/APIO2017,以及清华夏令营。另外我在这个时期发现了hackerearth网站,做了道近似题,发现怎么这么有趣。CTSC和APIO期间发生的事情我已经没有什么印象,除了一个“王选的世界”,我原以为是要选出一个王来,后来才知道王选是个人。这期间还有几个讲座,然而我全都在最后排插着电源打游戏。而清华夏令营,我只记得一道打表+线性递推的题,我拿了85分,是全场最高。后来我就进了面试,然后拿到了一本约。

接下来的训练过程我也不太能记清,而这之后是NOI2017。我记得在第一天考试结束后,晚上和lxl、csz等人一起玩deeeep.io,霸榜到凌晨两三点才睡觉。还有个有趣的事情是听lxl(?)的建议去把食堂剩的大瓶可乐拿回来喝。Day2分数出了之后,我得知自己应该进队了,之后很快证实了这一点。不过似乎我当时心情也没有特别激动。之后去了清华的办公室,签了保送协议,然后妥善保存了起来。忘了是我还是蔺老通知了我家长,她倒是特别激动。

新学期,集训队作业下发了,我、wxh、yfz也于不久之后去了长郡和他们三位集训队员一起训练。当时为了进校门,我们还搞了一套长郡校服,伪装成长郡的学生。平时我们就和他们一起做训练题,然后互相交流。之后很快到了noip(可能其实是之前),然后我照常参加,拿了省并列rk1(可惜因为若干sb错误没有AK)。还有一个有趣的事情是,noip day0或是day1晚上,我推荐y玩ddlc。

前面还有一件没有说到的事,就是集训队作业需要自己造一道题。我当时想搞一个维护单点修改区间表达式求值,然后发现不会做,只好弱化了一下,限制了括号层数。然而即使是这个弱化版我都写了几天,调了几天才完成(比未来程序改难写多了)。

接下来不久便是清华集训。Day1,我凭着乱搞拿了第一。Day2,我用乱搞AK了。然而接下来两天就不那么一帆风顺,我只拿到了大众分。不过最后我还是保持在了总分第一。清华集训之后,又是日常的训练,以及做剩下的100多道集训队作业题(ddl战士警告)。终于在ddl最后一天(?),我勉强完成了作业。

还有一个事情是会考。多加几个会考群可以在考前拿到除了第一科之外的所有答案。我凭借这一点得以勉强及格。(如果没报送,可能勉强及格就不太够了)

之后是冬令营。这次冬令营也是IOI赛制,然而这并不能挽救我因为不会乱搞也不会正解而分数大幅度下滑的颓势。不过由于清华集训,我还是成功进入了候选队。

接下来几个月,我们照常训练——考试、讨论、自行做题(候选队作业)。时间很快过去,又到了省选。省选前是惯例的集训(主办方:你不来这交钱就不给你省选资格,不过实际上似乎没有生效)。集训的前一天,我们前往电子科大打acm,成功在封榜(前?时?)AK,吊打了全场。这一次省选中,day2我原以为自己有希望AK,结果却挂了两题,最后以rk2进了省队(rk1)是wxh。值得庆幸的是,南山的同学们这次没有出现批量过题的情况。

省选之后是CTSC/APIO 2018。我因为不会计数题,以及策略错误没能进国家队。本次CTSC由于主办方的网络配置问题导致丢了代码,拿原题重考了day3。APIO我倒是正常发挥,但是因为集训队不能是正式队员,没能拿到国际金牌。

这之后经过又一段普通的训练,NOI 2018到了。由于早早就听闻这次NOI的寝室不提供插座,于是准备了一个插在空调插座上的插线板。实际到达之后,发现由于有一个大大的提供网络的自习室,这个插线板算是白带了。这个自习室被我们称作网吧。Day1,我凭着找规律和乱搞,成功AK。当晚(?),雅礼的老师发布通知称,不参加社会活动会被取消成绩,于是我就把他上知乎了,我觉得“反正你取消我这次也没啥影响,你就取消吧”,然后就直接咕掉了社会活动。Day1.5发生的事情在此就不讲了。Day2时,我觉得应该冲一冲AK,或是rank1,于是就一直搞一道题。最后没搞出来,总分很低,但还是稳进了集训队。

暑假之后的生活就变得更水了。大概每天除了学校要求的训练和集训队作业就是颓废了。集训队作业甚至都没有要求做多少题,只要去比赛签个到就行,于是这就相当于基本没事了。至于这段时间里干了什么,大概有不少工程向的东西,以及一些其他的算法竞赛和ctf比赛。如https://qani.me 就是国庆期间搞出来的第一版。很快到了noip,我去划了水,可惜没能AK。

再之后是清华北大集训。这次北大集训有不少新颖的题目类型,当然我也在这些题里面拿到了不错的分数。不过最后的没有之前的清华集训那么好,只能说是勉强排在前几。北大集训之后,又过不久就是冬令营(WC2019)。这次冬令营发生了一个大锅,集训队机房里面,选手代码被随机交换。因此我获得了3小时加时。除去打完之前代码的时间,实际还剩2个多小时(因为题目太毒瘤我实在想不到怎么做)。最后因为北大集训名次较高勉强进了队。冬令营的最后,我们去游览了广东科学中心,O做了一个上面写着wxhak等字样的纪念牌。

之后的一段时间,我也不知道我干了什么,总之最后到了退役的时刻——CTSC。我们先在首师大附中集训了两天,算是试了机。Day1考完之后,我自我感觉还不错,好像只要day2好就有机会进队了。我妈于day1晚抵达,我们一起吃了一顿涮羊肉。不幸的是,day2我终究还是被计数卡没了。我的oi生涯也就到此结束了。

后记

之后的一个多个月,我基本一直在家颓着。再之后去讲了课,考了姚班,学了一个月英语(然而英语分级考试还不是只有2级)。最后来了清华,参加了毒瘤的军训。我本想在军训的结训典礼上搞一些事情,但是果然我还是搞不出事情。最后一周的学习过去了。

现在是5:00整,我终于写完了(不过好像远大于字数要求了)。

日期: 2019-09-15

标签: 回忆录

这是一篇旧文,原始文章及评论可在 https://oldblog.mcfx.us/archives/267/ 查看。