再见,OI

NOI 2017 结束后,也就退役了啊。。。那就按套路写一写 OI 历程吧,估计是「想到什么写什么」系列 + 「小学生写作」系列了。。。(估计以后看到这篇博文的我会十分想删掉它吧。。。)

初遇编程

初二的国庆假期,接触到了 Minecraft,因为之前在贴吧看到过这个游戏,于是就玩了起来。当时的我还不知道,Minecraft 会对我的人生产生多大的影响。

大概是初二的寒假,抱着「那么多人都可以写一点 mod,我为什么不可以呢」的心态,开始自学 Java。(虽然到现在也不会写 mod)

Java 的学习是在慕课网。在一开始,我连看到个数组都会感到好奇,对 OOP 的那一套理论就吃了个表层地学了下来。大括号不换行、小驼峰命名变量、大驼峰命名类、四格空格长的 tab、运算符两侧的空格等习惯都是从那时开始的。

说来,直到初中毕业,我也没有告诉任何人我在学编程,包括我的父母。。。

初入高中

虽然在中考前拿了一些保障分,但还是没有使用任何一个地考上了西北师大附中——甘肃最好的高中。同时,靠着我的数学,我考进了学校的「鸿宇」理科实验班,其前身被称作「奥班」,故相当于竞赛班。

通过学校的宣传,我知道了竞赛是五大学科而不是四大学科,想着初中学过编程,于是向父母坦白,想要搞一搞信竞。不过,当时的我更希望搞的化竞。于是在高一下半学期的四分之一学期后,我学完了高中化学,而信竞上毫无进展——因为,我根本不知道具体会是怎样难度的题,不知道有什么地方可以刷题,也没有什么书看。自然,NOIP 2015 我是没有能力去参加的,所以就没有报名。

不过,我有幸参加了「英才计划」,并在高一的寒假因为活动到 THU 玩了一圈。期间无意中看到了一本算法书,后来我才知道是刘汝佳的书。同时认识了几个外省大佬,然而后来发现只有一人在搞 OI 的样子——成都七中的程思哲。

多亏了那次偶然的发现,我买了刘汝佳的两本书,算是开始了信竞的学习。

开始探索

在省选前,lrj 的书看到了 DP 之前(期间同时在看黑皮无机),有幸进了省队。接下来的时间就是在看 lrj 的两本书。然而,只看书的效率真的很低,后来才发现,这段时间的学习几乎没有什么用。。。

NOI 2016,又一次见到了吕欣(visit_world)大佬,以及省队的另外两个小伙伴。什么都不会的我在 NOI 2016 以 261 的分数胸牌滚粗。不过,也是在 NOI 2016 期间,我知道了 BZOJ,并在比赛期间刷了三道题(含 a + b problem),并学习了第一个数据结构——线段树。

不过,NOI 2016 也发生了一些令人不快的事情:我省的信息并未被收录,所以那一年的秩序册上是没有甘肃的、合照位置本是没有甘肃的、开幕式座位是在最后一排的后面补的凳子、胸牌也是补发的。。。(现在胸牌也找不到了。。。除了省上开的省队证明外,我好像无法证明自己参加了 NOI 2016。。。)

接下来就是 NOI 2016 之后,也就是高二上半学期的事了。竞赛中心我已经放到了 OI 上,化竞已不再搞了。不过,虽然注册了 BZOJ,但由于作业,在学期内几乎没有刷一道题,NOIP 2016 也是只有 \(240\)+,直到 WC 2017,刷题量只有 \(60\) 左右。

正式学习

WC 2017 到了,NOI 2016 省队的各位除吕欣外都只有去高考了,于是就有新的伙伴加入了:同校另一个特色班的同级同学与两个学弟,以及另一个学校的高二学生。

WC 2017 的考试依旧滚粗,就不多说了。不过算是让我记下了 wys。。。

WC 2017 期间,加入了 Universal OJ 用户群,发现了一位很活跃的大佬——Menci。又在 WC 上课期间,无意间瞥见有人在 Menci 的博客上看「上下界网络流」的那篇文章。于是我就去看 Menci 的博客了。跟着 Menci 的博客学习了 Splay。自此,我的数据结构之类的东西,一概是指针式写法;代码风格也有了一定的改变(主要是左大括号前的空格)。

WC 2017 结束后,我开始不管假期作业地整天刷题。新学期的开学考试后,向学校请了一个学期的假来搞 OI,请假过程意外的顺利。

在三月末吧,参加了湖南师大附中的培训。当时的我几乎什么都听不懂,五场模拟赛只有两道题能 AC:一道是毕克的,好像叫「B 君的教育」,就是虚数的那道,因忘写文件爆零了;另一道是彭天翼的一道打表找规律题,因为手贱用了 floor() 而因精度问题只有 \(30\) 。期间见到了吴雨伦(阮行止)、柴东辰(cdcq)、石响宇(sxy) 等大佬的真身,同时知道了一位在 BZOJ 第一页的大佬——刘昀(leoly)(后来发现好像是 NOI 2017 最后一个集训队),以及认识了/知道了安徽的蒋梦旭、云南的万仞峰、唐山的王予曦、巴蜀的杨翔云、柳州的闭浩扬(scPointer)等(以上真的只是认识了有这么个人)。

培训后,发现只刷题有时效果并不好,我需要一个 OI 博客来记录一些东西,比如一些新学的东西,以及一道题是怎么搞出正解的。于是在 Menci 的博客中知道了 Hexo,并自己搞了一个 Hexo 博客,也就是这个博客。

之后一直在自已一个人刷着题。四月份时,BZOJ 被卡了几次评测,张晴川(zqc)说着要搞新 OJ,有人搞事搞了个 new_bzoj。。。总之那段日子让人有点不快。感觉自己还是在一点点地进步,学了一个又一个的算法/数据结构,又发现自己还是不能自己切题。期间,Splay 让我很是痛苦,本身并不难,但我总是会在一些细节上写错,然后调上半天到一天。网络流又感觉总是有新的套路(在 NOI 2017 都还是这样呢。。。)。应该是六省联考之后,吕欣说这套比较简单,然而我依然做不出来。。。曾一度把 YNOI 系列当作「云南 OI」,还惊异于题目的难度,后来才发现是「Yuno OI」。。。

我妈在湖南师大附中培训后,给我报了一个培训机构,其中包括之前提到的不少人,也有报名后才知道的大佬,比如祁展华、毛嘉怡、吴佳龙(Manchery)、姜度等。。。(能认识这些大佬真是太好了)

接下来是 THUSC,莫名其妙地能去。同时听说 SD 的人几乎都去 PKUSC 了。在 THUSC 期间,与蒋梦旭、万仞峰有一定的交流。THUSC 最后在预料内的滚粗了。最后一天听着吕欣的讲话,听着拿约大佬们的名字,感到自己还是太弱,技不如人,甘拜下风。。。之前提到的几位中有几位有约。不过,当听到钊爷的名字时还是很惊讶的,我本以为 SD 大佬们都去 PKUSC 了。。。

紧接着就是 CTSC & APIO,不过我省并不能去,因为对于我省来说,这段时间是省选。GS 的省选为三小时四题,虽然是传统题,但却以类似提答的形式在考。。。由于看错了题,差点就直接退役了。。。由于我省直接报了五个男生 + 上面没有发现,我省省队是五个男 A 队(直到 NOI 2017 结束时才被胡浦云发现)。省队队员与 WC 2017 时阵容相同(当然,吕欣已经退役了)。

接下来的时间,一边刷题一边准备着会考。同时,之前提到的培训机构开始一周发一套模拟题做。我总是倒数一二的样子,而 Manchery、姜度两位大佬则一直在第一第二。

说来大概是这会儿,知道了 Libre OJ,也就是四月 zqc 说要搞的 OJ(创立 Libre OJ 的这群人对 OI 届确实有很大的贡献啊)。参加了 LBR#1 与 LBR#2,不过结果都很惨。LibreOJ 提供的数据对我刷题有很大的帮助,毕竟我总是会写错一点细节或忘掉一点细节。

应该也是这会儿,开始较大频率地打 cf。曾在四月打了一局 cf,却只 AC 了一道题,rating 只有 \(1340\)+ 的我一步步地打到了 \(1630\)+ 。每次总是写三道,有时还会 fst;有一次写了第四道,结果那场 unrated(连续几场 unrated 中的一场,那时真的很不爽啊)。

然后就是 LNR 与 UNR 了。LNR d1 AC 了签到题,暴力了 t3,d2 写了写暴力,差六七名到 cu,不过拿到了随机的衣服;UNR d1 暴力都写挂了,d2 勉强打了一点暴力,结果也是差十名左右 cu。。。两场模拟赛下来,再加上培训机构的模拟赛,我对我 NOI 2017 拿牌几乎不抱希望。

NOI 2017 的前一周,整理了大部分的数据结构/算法的模版。传送门:NOI 前的代码模版整理及复习

然后就到了 NOI 2017。直接放传送门:NOI 2017 游记

虽然对 NOI 2017 的结果有些不满(比如差一点拿到 ag,不能去最想去的 buaa),但总体还是很满意的,算是比较圆满地退役了吧。。。真的很感谢 OI,也很喜欢 OI。当 zju 的老师问到「你大学后是否还会继续搞 ACM」时,我认真想了想 OI 带给了我什么,然后真心地回答了「当然想啊」。

虽然最后更多地在 Libre OJ 刷题,但毕竟 BZOJ 还是老牌。在退役时,BZOJ 的通过题数是 \(404\) ,总提交次数是 \(888\),真是两个神奇的数字。。。

感谢

感谢我的父母对我搞 OI 的大力支持,以及对我的理解。

感谢吕欣学长对我的帮助,是对我 OI 影响最大的人。

感谢黄浩睿(Menci)的博客,改善了我的码风,一定程度上改变了我对 OI 的态度,让我从中学到了大部分 OI 中会用到的数据结构/算法,是对我 OI 影响次大的人。

感谢黄哲威(hzwer)PoPoQQQSengxian 的博客,提供了大量高质量的题解。同时吕欣FancyMiskcooxehoth 等的博客也对我有一定的帮助。

感谢蒋梦旭,成为第一个与我交流的外省 OIer。

感谢 BZOJLibre OJUniversal OJCodeVSCOGSPOJCodeforces 提供的题库与比赛,尤其感谢 Libre OJ 的创始人们。

感谢 ZJU、BUAA 的招生办,为我提供了签约的机会。

一些个其他的

在停课的一学期里,也经常会摸鱼。。。主要是黄学长的 2048 和补番。

这一学期,2048 从最多凑出 1024 到能凑出 2048 + 1024。NOI 2017 期间也来了一局,意外地发现图全换了。

至于补番嘛。。。这一学期一共补了 \(30\) 部季番、\(3\) 部半年番、\(7\) 部特别篇、\(7\) 部剧场动画(不包括新番)。好像变得喜欢新房的风格了。。。(我真的没有花太多时间在补番上啊。。。)