OI 回忆录

发布时间 2023-11-19 02:11:07作者: 苏联小渣

可能退役了吧。怕 NOIP 测完后太垃圾没心情写于是就先写了。

或许是持续更新的(?


我是在小学六年级的时候知道了信息学这个东西,不过当时只道这是写写代码之类的东西,也没有开始学。六年级下学期的时候我妈给我报了一个学习 Scratch 的课程,因为当时我爸我妈都不知道原来正统的编程是 C++,只不过听大家说学这东西有用于是就随便报了一个。中间有一次接触到了一个学 C++ 的机构,我妈联系了一个老师,那个老师就给我了几道入门题,让我把代码写在纸上。当时我一看就懵了,完了什么叫代码啊???不就是求个 a+b,为什么要用代码写啊???我当场就放弃了,于是就不了了之了。

2020 年,因为一次偶然,我进入了省实。那个暑假,听说学校要选信息队,我爸就给我报了选拔考试,然而考试全考的是小学数学,于是我就莫名其妙地进入了信息队。后来发现当时前两排似乎只有我一个是零基础的。我在暑假集训第五天的时候终于学会了自己开机,还记得当时整天调不出题就举手让卓老师帮我调,非常感谢卓老师非常耐心地帮我调代码,或许他就是我编程的启蒙老师吧。

暑假最后有一次结业考,在当时老师耐心的教导和我十天的努力之下,我又莫名其妙地通过了考试,排名似乎还不低。于是就到了初一上学期,刚进入初中因为各种原因,我开始摆烂摸鱼。那年 CSP-J 的初赛我好像差了几分通过,后来就越来越摆,学期差不多结束的时候就想着,要不退出得了。寒假的时候跟老师说过想退出,老师说建议我坚持下去,于是就想着最后考试的时候肯定考得很差,那肯定会被劝退。但是最后莫名其妙地又考得挺高,于是就又苟了下来。

初一下的时候感觉自己还没有开窍,并且经常拖拖拉拉,上课的时候摸鱼,讲完课抄代码,抄完代码就又去玩。于是已经讲到拓扑排序啥的,我连爆搜都不会写——真的,我直到升初二的那个暑假才会写爆搜。这个学期好像有一场 NOI Online 入门组的比赛,当时我就过了第一题,第二三题随便输出了一点东西,好像就进了前 25% 的榜单。(现在才发现当时第一道题是个黄题,那或许就是我第一道独立做出来的黄题了吧)

后来初一下学期期末考炸了,就又跟老师说想退出。老师没说啥,只是让我坚持下去。关于那段时间的一些记忆回忆录里面写了,这里就不多说了,毕竟和 OI 无关。那个暑假第一次去了省高集训,前后大概是四周。那个暑假应该是我提升最快的一个暑假了,它不仅仅让我从一个几乎零基础爆蛋选手,成为了可以打暴力骗分的选手,到了后面的普及模拟赛已经可以打到 200+。嗯,没错,也就是在这个暑假,我学会了写爆搜,同时也学会了一些基础的算法,开始慢慢补之前一年欠下来的债。但于我而言,这个暑假对我更大的意义在于,它激发了我对信息学这门学科的热情,有了主动的激情去探索其中更多的未知与可能。

然后就是初二上学期了。看来一个暑假的时间还是没法弥补一年的漏洞,我没有通过 CSP-J2021 的初赛,但是运气比较好,通过了 S 组的初赛,这也让我继续坚持学 OI,直到比赛结束。当时我告诉自己,一考完我就跟老师说不学了,我甚至已经想好了要怎么写回忆录了()我还记得考 CSP2021 的那个早上,我还去上了一节数学校队的课()。CSP2021 的考场上,我可以说是啥都不会,那年的 T1 是廊桥分配,我用了大概三个小时调出来了 \(O(n^3)\) 的暴力,然后随便写了一下 T3 的指数级暴力。那年题目比较难,所以数据似乎挺水,T1 我的 20 分做法最后拿了 35 分,于是我就混到了一个二等奖,那应该是我学 OI 以来拿到的第一个正式比赛奖项。考完后我跟老师说想退出,老师说等到考完 NOIP 先,于是我又去考了个 NOIP。NOIP 的 T1 我写了一个很玄学但是能过的东西,但是当时我以为 1e7 数组开不下,于是就用 map 代替了数组(我丝毫不知道 map 的空间开销更大)于是 T1 TLE 喜提 70。T3 打了个爆搜骗了 12 分,T2 的爆搜直接没分,于是我只有 82 分。而那年 NOIP 的题偏简单,所以就只到了三等奖分数线。当时我就跟老师说要退役了,老师还是让我坚持下去,然后不知道为什么我就真的坚持下去了。

当时因为各种原因我认识到了认真学习的重要性,于是就打算重塑我的 OI。我从红题橙题做起,月赛只做 T1,ABC 只会做前三题,就这样,先是慢慢改掉了抄代码的坏毛病,然后又开始补之前落下的算法。慢慢的,我从只会做红橙题到了可以做出一些黄题,再到可以做出一些绿题。ABC 也从只会前三题到可以做出四题,有时候还能做出 E 题。2022 年上半年的 GDOI 普及组,我压线拿了个一等奖,这告诉我我几个月的努力没有白费,我的方向没有错误,我的付出有了结果。那年暑假我第一次去了浙江集训,看到了更高更强的 OI 世界,也是在那里,我打了第一场 CF。我的 rating 也从一开始不断下分,到后来突破了 1800。那个暑假我第一次接触了很多之前从来没有听过的算法,也正是那个暑假,我对 OI 的认识,逐渐上升到理想与目标的级别。在这个世界里,我第一次树立了自己可以触及的目标。

2022 年 9 月开学后,我只有平时打 CF、每周六打模拟赛的训练。那时因为各种原因重心放到了 whk 上面。10 月我的 CF 号终于上蓝了,当时真的是“好不容易”,虽然当时干一个多小时的题很多都没什么技术含量()。然后就到了十月底的 CSP。这是我第一次,也是最后一次参加 CSP-J。不过好在最后还是有惊无险 AK 了,其实 T3 是可以被卡的()。下午的 S 组就有点点小遗憾了,我 T1 的乱搞最后过了,T2 我场上想出了正解,但是我由于正负分开处理,所以导致特殊性质上线段树建树死循环了,最后挂了 40 分,从 256 挂到了 216,最后只有压线一等,也就这样没了 7 级勾。一开始还是难以接受挂分的事实,但是后来慢慢投入到 whk 之后就看淡了。但这也告诉我,一年时间,从只会打爆搜,过不了初赛到提高组一等,入门组 AK 是完全有可能的。

然后就到 11 月的 NOIP 了。由于疫情原因那次 NOIP 举办得比较神秘,这里就不赘述了()。NOIP 场上我过了 T1 之后就爆肝 T2,最后写了 4k 代码但是只有 15 分。最后我的分数是 148,因为运气比较好,多测清空直接 memset 导致 T1 没有挂,比一等奖分数线高了差不多 30 分,看了一下榜在全省正式选手排名好像还有前 100(?

那段时间正好是疫情停课,于是我就在上课摸鱼的时候稍微研究了一下一些有意思的 ds 题,比如说线段树合并、可持久化等等,也出了一些比较有意思的题,当时是想着准备第二年放到毕业纪念赛里面去的,不过由于其他用途那些题并没有放上去。也正是因为 OI 和短视频,我的网课生活才拜托了枯燥和乏味。

2023 年的第一场比赛就是 WC 了,场上我 T2 灵光一现打了个随机化,于是就用 73 分的低分骗到了一个 Ag。WC 之后就少碰 OI 了,主要就是无聊的时候研究一下题目啥的。

但是我原本以为九下,我就能摆脱 OI 的枷锁了,但是 OI 似乎不愿意放过我,让我专专心心搞 whk。第一场比赛便是 GDKOI,是 crxis 骗我去打的。然后因为挂了 20 分没了一等奖,打了等于没打;第二场是省选。在这里我不怕说了,省选 Day 1 我 T3 暴力最后二十分钟想到但是没打出来,Day 2 我获得了 1 分的高分,还是 T3 的 1 分。省选我得的分数和挂的分数差不多,那时我真的彻底不想搞 OI 了,觉得或许放一放效果会更好一些。

但是那段时间,我的 whk 水平越来越低,可以说是原地退步。后来因为偶然去了 thusc,Day 1 拼 ds+暴力打得还行,Day 2 由于一个分号漏写在终端调了两个小时的编译错误,导致最后写不完啥奖也没拿到。当时我就开始反思,是我真的水平不够,还是总是粗心,比赛经验不够呢?为什么我每场比赛都要留下或多或少的遗憾呢?

那段时间也是有一些可喜的进步的,我的 CF 连续两场 div 2 打进了前 100,最高的一场打到了 rk17,如果前面不乱搞下分,当时就可以上紫了!不过因为中考在即,所以就暂时放了放 OI。

暑假开始后就去了浙江集训,一开始在 C 班补了一下之前没学好的算法,但还是补得不是很好,有一些东西至今都没有补。第一场模拟赛把分上了 1900,然后到了 AB 班就开始疯狂掉分。前两场几乎没有什么变化(crn 场全是不可做题,只能打暴力贺板子),第三场难度降低了,但是我打得分数却奇低无比,直接下了两百分,当时我就开始怀疑自己,为什么人均过的题我怎么想都不会,只能靠着打暴力和题目难度苟着?后来有下了好多场的分,直接给下回原点了,直到好几天后才靠着两题暴力再次苟上了一点分,然后题目难度一低就又下分,除了像最后一天的一道送分题才让我苟上了 1900。感觉自己完全不适应省选模拟赛,在 AB 班的十天 rating 就像心电图一样,最后只能勉强回到 1900。

不过一件值得记录的事情是,这个暑假我的两个 CF 号都上紫了,第一场是拼手速上紫,第二场是靠着 div1.5 的上分优势上的,而且都是勉强苟上。只不过从这以后就基本没有打 CF 的机会了,只能说还好最后上了紫吧!

然后就是高一开学了,开学一周后就停课了。停课之后一周三四场模拟赛,早上比赛下午订正。比赛的状态也从零到不断打出来,一开始只能打一百来分,到了后来可以上两百,甚至 250 以上。第一场比赛是 CSP 的初赛,随便写了下就开始默写古诗了()第二场是一周之后的广州市赛,之前从来没听过这个比赛,就当作模拟赛打吧!感觉质量甚至不如模拟赛,Day 1 是板子场,Day 2 是玄学场,T1 读题读不懂挂分,T2 随机数据随机挂分,T3 线段树板子,不好评价。只能说二中是真的大。

后来就一直模拟赛,也见到了很多印象深刻的 trick,也有过场切一些神秘题目的激动与喜悦,当然也少不了挂大分的懊悔与无奈。我的模拟赛挂分很玄学,要不就挂很少甚至不挂,一挂就直接上百。第一场挂大分直接挂了 150,得了 185,原因是 T1 直接把我卡常成暴力分,T3 出求导题还用 corner case 卡了七八十分。接着到 CSP 赛前一场模拟赛挂了 135 分,T1 线段树忘记建树,T2 用了 map 被卡常成暴力分,在这场之后的那场又因为边双写挂没了 55 分。感觉挂分不能得到有效解决,只能说还是题做少了吧,或者是模拟赛容易有开摆的心态。

10 月 21 号是 CSP-S 复赛。这应该是我打得最不顺的一场比赛了,T1 是傻逼题,当我发现 T2 的原题我刚见过的时候,我觉得这场稳了。谁知道我口胡的做法需要求逆矩阵,而我根本不会写,当时也降智没有想到直接解方程,于是就心态爆炸,拼了 T2 的暴力和 T3 的暴力,甚至没发现 T4 是傻逼题,于是第一次在人均 AK 场垫底(flag)

后来就是一个月的模拟赛,在 NOIP 赛前我的挂分超能力再一次爆发,这一次就更为厉害了,连续四场分别挂了 140、118、105、50 分。于是我在 NOIP 前那个周三准备去实现“挂 20 分跑一圈”的 flag,和 ztx 在操场上跑了 18 圈(一圈 400 米,虽然说速度很慢)。

最后就到 NOIP 了,可以去看我的 NOIP 游记。

总之最后可能有点小遗憾,但是自己也尽力了。

或许我就是这样的人,在有闲暇的时候会觉得时间大把,没必要去争那一点时间做题,于是就每天看似在做题实际在无所事事开摆。直到比赛前才意识到自己还有很多事情没做:该补的题还没补完,该学的算法还没学完,正在写的博客和总结也不了了之。我反思过,我尝试过改变自己,可终究没法改变早已根深蒂固的坏习惯。所以我只能在巨量 debuff 之下,最大化我能得到的分数,即使如果我在努力一把,我的结果可能会比现在好得多。

或许我应该总结和反思一下学 OI 的这几年。毕竟不知道还有没有机会继续冲省选了,不如先把话说完了吧!

我学 OI 的第一个小遗憾是初一的时候摆了整整一年。后来的我才发现,从啥都不会到提高一等,真的只需要一年。如果我初一的时候有初二追赶时的干劲,结局是否就会不同呢?

第二个就是我太拖拉,做事缺少计划,这让我在老师没有安排任务的时候,经常不知道自己要干啥。于是我的学习经常会很被动,缺乏主动探索的动力和时间。

第三个就是我容易分心,会被一些无关紧要的事情打断了正在飞速运转的思路,总的来说,就是分不清主次。学习 OI 的时候一定要专注,这样才能进行深度的思考,想一下就放弃的做法,是不能让自己得到提升的。有人随 CF 的题就天天这样,我不说是谁。

其实我觉得省实 OI 的氛围是挺好的,大家都愿意一起学习,也愿意一起摸鱼。虽然我的成绩微不足道,但我也算是见证黄队带飞 SSOI 的一者吧!SSOI 现在还在处于上坡期,以后一定会有更加耀眼瞩目的成绩。或许作为 SSOIer 的一员,我的贡献太过微弱,但是我感谢省实的信息队和老师们让我认识了一个全新的世界,让我得以摆脱 whk 枯燥无味的枷锁,开辟一个属于自己的探索和发现的空间,在一个未曾设想的道路上,追逐之前不敢想象的理想,让一个又一个遥远的目标变成现实。

其实我也想过,学 OI 一定要进队吗?即使最后进队的概率不足百分之一,但我仍然不会后悔曾经选择过 OI 这条道路。它告诉我,做一事就要做好一事,不能半途而废;它告诉我,只要你肯努力,没有什么梦想是不能实现的;它告诉我,不是只有成功的道路才是鲜花灿烂,只要是自己走过的路,就一定有属于自己的独一无二的风景。

同时也感谢 OI 这个平台让我认识了更多同学,由于我不太社牛所以认识的主要是同校的学弟学妹(啊不似乎只有学弟)。祝你们在以后的道路上都能取得自己理想的成绩!

最后,感谢从初一开始一直陪伴我的老师们,感谢父母一直以来给我的支持,感谢学校给予我的挑战自己、充实自己的机会,感谢停课两个月来陪伴和鼓励我的同学。我在最后一战的成绩或许没有达到最好,但比起结果,我更珍惜这两个月的一点一滴。我记得在五楼机房门口倚栏眺望远方的夜晚,我记得机房挂着的长长的横幅,我记得黑板上距离 NOIP 的时间一天天减少,我记得我们走出机房、走向赛场时的从容与信心。我看见了远方,虽然在 NOIP 之后,补 whk 的道路仍然艰苦卓绝,但是我相信,其中必然有我们所珍视的无数个瞬间。不论生活沦落到什么地步,其中都会有你所能触及的美好与希望!

祝大家都能取得理想的成绩,祝愿 SSOI 再创佳绩!