专栏文章

最后一年

生活·游记参与者 3已保存评论 3

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
3 条
当前快照
1 份
快照标识符
@miqs5hhd
此快照首次捕获于
2025/12/04 09:51
3 个月前
此快照最后确认于
2025/12/04 09:51
3 个月前
查看原文
最后一年 OI 了,可以说是感触颇多。这篇文章不仅是 CSP 和 NOIP 的游记吧,更算是对这几年努力的总结。之前一直没写过类似的文章,第一次写可能问题比较多,欢迎各位大佬指出。那为什么不 CSP 的时候就写掉游记呢,因为我觉得这一大段时间于我而言是连续的,合在一起才能好好体现我的感受和心路历程(其实就是我考完 CSP 懒,现在有时间一起写掉)。游记前先铺垫点自己的 OI 经历,可能讲的啰嗦点,但是满满的回忆啊。

小菜 OIer 的崛起之路

从初中算起算是五年的老选手了。但初中心思基本不在竞赛也算是学着玩,当时连按照题意模拟在我眼里都是最艰难的,甚至连搜索都写不对,啥奖都没有……。别骂了别骂了对自己都这么狠。按最近网上很火的一句话讲就是:这不是我的黑历史,而是我的来时路!

一次难得的机会让我真正爱上 OI

真正开窍是在初三毕业那个暑假,本来老师喊我们去集训兴致并不高,就是想去玩一玩,毕竟没作业,但是整了几星期之后却越来越有兴致。依稀记得当时第一周讲图论,之前一直都很害怕这玩意,学了好几次连图都存不明白,而且那年S组第一题就考这玩意,包爆零的啊,那年也就T3不可以总司令拿的分()。但是假期既然时间多,就仔细研究下吧,拿着调试搞了一上午终于弄明白链式前向星的底层逻辑了,当时开心的不得了,很有成就感!
本来一直都是在一本通上刷题的,当时机房里比赛做图论第一题看谁做得快,毫无疑问是输了的(我才不会告诉你我是最后一个做出来的)。但是当我调一上午终于做出来后开心激动了一中午,因为那题基本上是鲜有的几道我独立做出来的题,尽管就是一题很普通的搜索题。
后面因为一本通的题太少了就来洛谷上面做了,当时其实注册账号没多久。后面每天都在刷刷刷图论,顺着难度刷。当时看到机房wxk大佬有黑题激动死我了,开始幻想做黑题。(白日做梦啊!
经过好几周的集训,图论还有数据结构入门基本整熟了,期间又补了补好多自己没学过却好好用的算法,比如快速幂啥的(没错这个菜j连快速幂都不会哈哈哈),也开始不再惧怕那些长长的题目,开始对做题有了自己的感触。

努力过后方能见彩虹

剩余假期还有将近一个月,机房大佬不是在旅游就是在放松,我深知自己的差距,无心玩耍,开始刷题。(其实当时已经真正喜欢上 OI 这条路了,但对奖项比赛什么的还不了解,也不知道 OI 能干什么,只知道自己喜欢写程序)一整个假期在电脑边,起床开始就是在学算法,刷题刷题。
就这样在一个假期将近 400400 题的刷题量(即使难度也基本没到蓝)的支撑下,我也在高一开学拿到了YN省一等奖,但是因为写代码不规范导致挂了 2828 分,就差一点,加上挂的分就省队了。更惨的是楼上的学长,高一就进省队了,结果高二因为 CSP 发挥失常同分情况没进省队,太可惜了。也就是从那时起,省队梦就在我心中种下了,不仅为了学校的荣誉,还是想对自己的努力有个交代。

退役季的 CSP

闲谈

前话好长,终于到了今年 CSP,多少是紧张的。退役季压力大,不成功,便成仁,当时也不知道自己能不能挺到国赛,但是真的想!!!
闲谈一下哈,其实本人之前一直搞数学竞赛的,并且是将数学作为自己的主修。直到这次高联,利用假期自己在家刷了将近三个月的题,却输的一败涂地,只获得了省二,离目标差的好远 qwq,真正认识到了差距。再回过头来搞 OI 说实话心态肯定是受影响的,而且一直跟老师请假听课搞竞赛也挺愧疚的,怕竹篮打水一场空,而且因为那些科任老师真的好支持!!!
之前高一教练借我一本算法竞赛指南也就是蓝书让我看,当时没时间看,快退役了才想起来看。里面涉及的算法属实很全面,而且作者讲的也详细,感觉看这本书比我盲目刷题提升大多了,虽然题目都很难,但是坚持下来了。因为时间紧凑只能刷例题,习题基本没时间刷了。本来计划一天8页NOIP前正好看完,但遗憾的是直到现在也还有几小部分没看完,不过我会继续加油的!

第一轮

Day -114514

这次 CSP 只报了 S 组,一是因为去年考了 J 组感觉还行,今年再考也没啥太大帮助,而且早上考完下午累。还有就是没钱了,今年又涨价还好没报(狂喜)。
听教练说这次 YN 报名人数挺多,第一轮还是要好好复习一下的,大概看了一个周感觉没啥问题了,就去考试了。

Day 1

进考场小学生居多,不过每年都一样也习惯了。
开题扫了扫前面感觉不是很难,组合远远比不上数竞(嘿嘿)。(那你为什么还有题做错了太该罚了)又看了看读程序感觉有点复杂,决定一会多花时间读一读,一看完善程序一题二分一题次短路(好像是 A*)稳了啊次短路没学过哈哈哈,遂决定次短路全懵。
打了铃开始写,感觉写的很顺,中间逆元那题唐了以为是素数写个费马小上去,考完都气笑了,也可能是因为 扩欧不熟
读程序很煎熬,因为基本读不懂,手模的时候感觉大脑受到了摧残,总之不好做。
到了完善程序题第一题基本全是 A,选了个 B 因为数组下标以为从1开始。当时以为脑子抽了,还手模了好几组样例也没问题就不管了,答案居然真全是A。第二题我刻意少选A又中计了我服了啊!晚上看答案 1010 道题 99 个A人都傻了,***CCF。

第二轮

Day -7

这学期学校来了个新初一的学弟,实力好强,感觉脑子好用,学东西也特别快。虽然不跟初中生竞争,还是很有危机感。
考前的晚自习一直在机房刷题,生怕有闪失。也许是见到了实力强劲的学弟,也许是自身状态不好,总觉得大家都变强了好多,很害怕努力这么久却像数学一样一塌糊涂。

Day 1

激动的心,颤抖的手,终于迎来了 CSP-S 的考试,进考场时手一直在抖,喘着粗气。估计是太紧张了控制不住身体了已经。
进考场发现我们学校基本都坐在一起,旁边是同机房的修够xrl。静待发题。
时间终于到了,先顺着读了一遍题本来想决定开题顺序,但是因为太紧张了啥都没读进去。于是还是从 T1 开始做,手模样例发现T1很水,图省事拿个 setset 随便切了.但是切完我就知道这题大众分肯定是 100100,想要崭露头角 T2 必须拿下。
深呼吸了一大口调整节奏,开始读 T2,但不得不说,题目真长,读了个两三遍才看懂。考虑第一问好像每个车的区间搞定,前缀减一减就出来了不是问题,应该不到半小时就写出来了,样例全过,其实当时就很有信心这题能切,也就是这个盲目自信造成了之后一直调第二问没调出来的悲剧。开始写第二问,想了个贪心觉得可行于是手模小样例觉得发现没问题,写完了小样例过了看看第二个样例,发现差一点于是开始调。调了半天发现不对劲因为按我的思路讲代码估计没错但是答案错了,第一反应是贪心假了。
看看表,时间过半好多了,于是想着先把 T3,T4 暴力打掉,打完 T3 去看 T4 发现不好实现,于是决定赌一把回来接着调 T2。事实证明,我这个想法太蠢了,无论是 T4 暴力还是 T3 用 dp 写个更好的暴力都说不定能拿更高分。
简单证了一下贪心好像没问题,那可能是代码细节上出问题了,第二个样例点有点多,画在图上一直不太清楚,基本是盲调。最后半个小时又开始赌了(我怎么这么爱赌)用树状数组换了种写法,发现对的好像多了点,此时已经没时间了,加上文件读写就收卷了。
考完出来讨论发现机房的人都没调出来 T2,基本都是写特殊性质或者直接没写,但是我知道其他学校肯定有做出来的,于是慌的一批感觉自己真是太失败了。

小插曲

比赛比到一半机房故障,事后教练说可能是鼠标键盘频繁更换整到电路了,后面学校索性给全部鼠标和键盘换了,爽了
因为故障 Windows 的同学就惨了,不仅开机时间很久(好像是总的开得慢),而且写的东西全没了,在此替他们哭泣0.1s。但是 Linux 就不会清空程序,而且开机较快,于是上报后我们延了半小时,其他同学延了一个半小时,直接干到八点太惨了。
这个小插曲也算是为最后一年的 OI 生涯添加调味品吧,让枯燥的生活有味道了。毕竟以前这么几年都没遇到过。

后记

官方成绩很快下来了,发现初一的小学弟 260260 多,T3 切了,T4 打了 3030 多分的暴力,是我太弱了呜呜呜。而且似乎别人分数都很高。自己才 150150,感觉天塌了。
深刻总结了这次的教训:不要把鸡蛋放到一个篮子里,不要盲目自信,一定要先打暴力啊啊啊啊啊啊啊啊啊!!!后面几天我时刻牢记要注重时间安排,因为 NOIP 输不起了。
经历这次创伤,基本来到了一个低谷,失败和挫折戳满了我的全身。但是我知道我不能放弃,因为黎明前的黑暗是最考验一个人的!

退役季的 NOIP

Day -10

全机房第一次停课来备考 NOIP,爽死了。基本每天教练丢一套题给我们做,早上做了,下午有题解然后补题,晚上还有时间刷蓝书,开心。正好前三天是运动会,每天抽点时间做做题,剩下的时间基本都在疯玩。运动会报了个 400m400m跑了好几年了,决赛的时候全机房到操场给我加油激动死了。但是只跑了一分零一,拿了个第六,唉,又颓废了一年
除了运动会第一天拿了 230230 分,后面模测的成绩都不理想,好几次都没上 200200,更有几次连 100100 都没有。一看到机房大佬基本都是两百多快三百,心里压力就很大。内心不禁开始发问,为什么刷的题是最多的却是倒数,为什么总是很努力的调整自己比赛成绩还是时常不理想。说实话,那段时间经常很迷茫,脾气也不好,每晚上基本都是戴着耳机自己研究蓝书。
当时有点想放弃了,但是看了看一路走来这么辛苦的自己,他一定不希望努力付诸东流。越是这种处境,越是需要我静下心来 ,咬紧牙关。调整好心态,还是继续默默努力。即使路上布满荆棘,我也终将勇往直前!那些打不倒我的,终将使我更强大!
想到这里不禁想起一篇课文:
故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。——孟子《生于忧患,死于安乐》

Day -1

为什么不是Day 0,我也不知道
不过又为什么把这一天单独拎出来讲,因为发生了很多难忘的事情。
头一天晚上和奶龙哥zyx一起出机房,他随手给门关上去了,我跟他讲门锁死了明天就打不开了,他说轻轻地关过去明天一拉就开了。但是我听那个声音有点重不太相信他,想着等明早看。
果不其然,早上来机房就发现大家都站在外面,奶龙哥来了后我们集体吐槽他,等到八点左右教练才来开门。吹着清晨一阵冷风,站在学校的走廊上,看着手机里割点的板子,算是退役前一份美好的回忆吧。
今天模测大家都杀疯了啊,除了第三题,每题都有人 A 了,第四题号称 STL 大佬的yh用 STL 实现了 O(n2)O(n^2) 过十万,暴力碾标算,直接切了,太强了!要不是教练提醒我一句第一题思路,就爆零了,最后 100+64+5+30100+64+5+30,但是我知道我第一题本来要低很多的,心里仍然不是滋味。
后面大家就发现第一题 sortsort<< 换成 \le 就 RE 一大片,stablesortstable_sort 好像免疫,全机房都在一直研究这个问题,发现字符串居然访问到了空。后面发帖求助,知道 sortsort内部的比较函数对于两个变量的关系 F(x,y)F(x,y)必须一真一假,因为 ==== 有交换性质,也就是说 ==== 必须是假,不然 F(x,y)=F(y,x)=trueF(x,y)=F(y,x)=true 就不对了。NOIP考前一天明白这个底层原理还是很幸运的,不然考场错了就真挂了。之前没遇到可能是大家都不写 \le 之类的。
下午体育课找我们班同学打球。(文化课可以不上,体育课是我的命啊)到教学楼那片就遇到我们班主任,我们都叫她小美老师。见到我就问我,是不是明天考试啊,最近怎么样啊,我支支吾吾的说这几次模测的成绩都不太理想,感觉很慌。她笑了笑说,说不准这次不太好,明天就发挥的很好呢,然后让我不要绷得很紧,劳逸结合。接着问我是不是来找他们玩的,我点点头,她又笑笑,好呢好呢,玩去吧。走在路上想起小美老师说的话,感觉心里暖暖的,开始鼓励自己说不定明天超常发挥呢!尽管小美老师有时候对我们挺严,而且有时候处理问题也让我们不喜欢,但是内心都知道她真的把我们当她的孩子,关心我们,爱着我们!
打完球上机房他们说要合影留恋,以后恐怕没什么机会能再在一起讨论问题,更别说写程序了,想想还挺遗憾的。
教练说我们晚上可以早点回去休息,把明天的 NOIP 当成每天的模拟考,并鼓励我们肯定考得都很好的,内心也鼓励了一下自己。五六点就陆陆续续的有人撤了,我七点补完当天的题就回家吃饭了。晚上想着做一做去年第二题,发现自己思路写的并查集始终只有 40pts40pts果断看题解,后面 A 掉已经十一点多了,洗个澡就睡了。

Day 1

早上起来突然想起来要复习一下贪心的一些常见模板,毕竟 S 组第二题就是被贪心硬控了,进考场之前又浅背了背字符串的模板。8:308:30 准时进考场,不知道为啥今天没有 S 组那天紧张了。进去发现wxk大佬坐我右边
这次打算顺着做,题目已经发下来了,立马开 T1,读了几遍才有点头绪,但是感觉还是有点懵懵的,看看周围人似乎也都在草稿纸上想思路,没有急于写代码。然后按照样例解释手模了一遍样例 11,瞬间想到一个贪心,可以先把能交换的部分划分成一个一个得块,这样子只能在块内进行交换。然后贪心的遇到一个字符就优先匹配,后面几组小样例都能过。然后浅证了一下,发现没毛病,因为每个匹配成功的字符都只会对答案产生 11 的贡献,换句话讲,每个字符都是等价的,并且每个块内部每个字符是可以随便交换的,那前面能匹配就匹配肯定是不劣的。
然后两个字符串合起来只用分类讨论一下就好了,就是代码难写,不过也没调一会大样例就都过了。此时过去一个多小时,发现周围大家似乎都还在调 T1,优势在我
立马开 T2,看到统计的方案数,还要取模就知道剪枝搜索肯定会挂,脑海里一闪而过一个念头:计数 dp。但是看一眼数据范围 nn 那么大肯定不是 dp。开始分析特殊性质,发现就是简单的乘法原理,想完 6060 分的性质,感觉正解分成若干个连续的块进行处理就好了。但是当时没有写,也不知道在想什么。看眼时间发现还有不到两小时,于是开始写代码,前面的暴力有点问题调了一下,写完 T2 已经只剩一个多小时了。遂放弃,打算有时间再回来调,不过估计没时间了
开T3看一眼,题目老长。发现没啥思路,k=1k=1 的时候想到一个树形 dp,但是估着不太好写,(赛后发现好像是当时读题有点问题,导致当时以为很复杂,实则也不很简单),于是放弃,看看特殊性质,链的时候全输 11 可以骗一个点,爽了。后面就去看 T4 了。
事实证明,没有耗在 T3 是正确的,因为不一会 T4 就想到一个 O(n2logn)O(n^2 logn)的解法,但是因为一些原因(包括没有注意到 kk 越大越劣,还用一个线段树维护静态区间最值常数起飞,详情见此贴)导致挂了几分。此时调完暴力还有半小时,打算再冲一冲性质 B,因为 LCA 满足区间可加性,于是线段树暴力 2log2log 直接莽,调完自己造的小样例还有 22 分钟。手已经抖得厉害,匆匆检查了一下文件读写就交卷了。
自己估分:100+60+4+32100+60+4+32,自测发现 T4 n<=5000n<=5000 的时间接近极限,云斗上直接挂到只有 2020 分。后面改了改可以节省 1s1s 左右。当时就有点慌了,感觉要挂点分。
最后官方成绩:100+60+4+24100+60+4+24,感谢 CCF T4 多给一个点!!!目前看来排名良好,很有机会冲击省队,希望能进国赛圆了本蒟蒻的梦!

后记

游记或者说是闲谈到这里已然接近尾声,但是 OI 这件事是说不尽的,说短也短,一晃几年就过了;说长也长,回首又奋斗了多少个白天,又多少个夜晚。
对于每一个 OIer 来说,我相信能坚持下去的一定都是热爱它的人,它不像数学物理竞赛一样对高考有帮助,反而还会占用大把学习的时间。与我而言,既然踏上了这样一条路,就应该也必须义无反顾的走下去,为了那个热爱梦想的自己,勇往直前!
最后,引用来自天上一颗蛋大佬的一段话(这段话来源于这篇题解。扯句闲的,当时蓝书上刷到平衡树的时候是不太想做的因为感觉 NOIP 基本不会考,但是看完这个大佬的话,又让我找到了动力,于是一不做,二不休,给它过了):
但你们,仍然坚持着的你们,实实在在地仍挺直着不屈的脊背。你们是凭着一片热忱还坚守着这片土地啊!
也许有一天,你发现,付出了许多的你,和也许没那么努力的其他人相比,都能踏入挺厉害的大学,都有着美好的前程。
你也许会浮想联翩:要是我当初没踏足 OI ,我会不会在一个更好的地方?
这时,请不要后悔。绕远的路,总有风景。
最后的最后,希望所有 OIer 们都能到达自己梦想的彼岸,坚持下去,加油鸭!!!(这文章好长啊)

评论

3 条评论,欢迎与作者交流。

正在加载评论...