第16届蓝桥杯省赛游记
第16届蓝桥杯省赛游记
自我介绍
- 我是 WanderOvO,北航本硕计算机,目前在读研一。
- 研究过模型驱动的软件工程需求建模,但是感觉很玄学就放弃了,后边准备做软件测试相关的研究。
- 没有参加过 OI/XCPC 但是是个算法爱好者。
赛前
今年已经是研究生了,所以报了北京 C++ 研究生组。由于大风天气,北京第一场没有考成,当时感觉很郁闷,因为当时 OI 赛制的模拟套题刚做了好几套,状态很好且考场策略的执行很到位,延期我担心自己状态会掉。
等待第二场比赛的期间没有再做套题(因为有课程和科研压力),甚至懒得看第一场考了什么题,只是从路边听来了一些难度评价,似乎是不太难的样子。
赛前训练主要还是跟着灵茶山艾府和小羊肖恩平均每天花 2 小时在 CF 上写 2-3 道精选的 1600-2100 分的题目。其实这个刷题习惯已经坚持了一年多了,在一年多里这个分数段的题目我写了 800 道左右,几乎没有学习任何新的算法和数据结构,也只参加了三五场阳间时间的 CF(晚上 10 点之后脑子很乱,所以几乎不在 10 点以后写代码)。
这个训练的效果也是比较显著的,我从训练前校赛只能打三等奖(30 名左右)变成了校赛一等奖(第 7 名),从 CF 1400 分的题都写不动,到现在大部分时候能拿下 1800 分以内的题目。我没打过 OI,也没有参加过 XCPC,所以能到这个水平我个人还是满意的。
延期这段时间整个人的状态就是很松弛,就像沙鲁游戏前悟空悟饭每天保持超级赛亚人状态生活的感觉那样,每天会做点训练保持手感,不强迫自己写比较消耗脑力的题目。
赛时
解压题目,开始执行定好的比赛策略:
- 前 15 分钟把所有题目看一遍,想一下每个题最简单的 1-2 档分怎么做,然后发现整套题目意外地简单。
- 之后用了 1 小时 10 分钟左右,写完了前五道题的正解以及最后三题的暴力。
- 然后使用 15 分钟的时间,想到了基因配对那道题其实就是剥洋葱,每层都要比上一层选得不小,而第一层选的就是最大字符,所以事实上答案就是输出字符串中所有的字典序最大的字符即可。估分不超过 CF 1600 分。
- 然后开始想栈与乘积那道题的正解,发现如果没有 0 和 1 的话,至多枚举栈顶的 32 的数就会 overflow,所以关键在于 0 和 1 怎么处理。我维护了最接近栈顶的 0 的位置,以及每个 >= 2 的数的下面第一个 >= 2 的数,这样就跳过了 1,然后就做出来了。怕写挂了,于是把对拍写好挂上了,拍了 5 分钟没拍出错误就认为过了。估分不超过 CF 1800 分。
- 最后开始做翻转硬币那道题,发现其实就是个维护前两行状态的 DP,羊村里考前有人讨论过类似的。这题写起来稍微有点麻烦,当时应该在场上实现了 20 分钟以上,debug 也 de 了一会儿,然后挂上对拍,拍了 5 分钟没错误。估分应该难度在 CF 2000 分以内。
- 至此,我觉得自己 AK 了省赛,这个时候大概还有 1 个半小时结束。由于题目过于简单,我害怕不 AK 进不了决赛,于是又硬坐了半小时,把前面几个题重新读了几遍,每个题手动测了一些样例,能对拍的也都拍了,12 点感觉实在没问题就出场了。
出分
5 月 9 号终于出分了,发现是北京 C++ 研究生组的冠军,获奖名单第一个名字就是我,估计是同样 AK 但是我准考证号的字典序比较小吧,还是很有运气因素的。我从 CPC Finder 上查了一下前几名的其他同学,发现基本都是拿过区域赛金银牌的,我能登顶纯粹是因为题目区分度不好,但凡这套题里面再将 2 道简单题换成 CF 2000 分左右的题目,我肯定就来不及 AK 了。
值得一提的是,这也是我第一次拿 rank 1,之前无论是线上还是线下比赛,无论是简单还是难的比赛,都没有拿过前五以内的成绩(似乎最好成绩是校赛第 7),这也是一次历史性突破了!
突然就想到了高中数学老师兼班主任之前说的一句话:“你高考数学考了 145 分甚至 149 分,可能过了很多年之后高考数学满分不是 150 了,这样你给你的孩子说的时候,ta 一下子反应不过来你多厉害;但假如你考了满分,那么不管过去多少年,你都可以不回答具体数字直接给他们说自己考了满分,无需任何其他解释”。那年高考,我数学考了全校唯二的满分。今天我侥幸拿了省赛第一,不管蓝桥杯是个多水的比赛,不管它的省一有多好拿,以后我也只要说自己是省赛第一名就可以了。
总结与展望
这次能打出不错的成绩,我觉得有这么几点原因:
- 题目简单,在我的能力范围内可以 AK。
- 最近一年来的训练放松但有效,基本算是在稳步突破自己的舒适区。
- 赛前对省赛难度题目的 OI 赛制进行了一些针对性模拟,找到了适合自己的做题节奏。
国赛很快就要来了,事实上这才是我第一次参加国赛,希望能够保国二争国一吧。
等国赛之后,自己可能会对训练稍做调整,具体来说是:
- 把做题的难度调整到 1900-2300 分,原因是 1800 分以内的题目对我的提升不明显了,但 2400 分以及更难的题目对于我这种不打 OI/XCPC 的研究生来说有点过了。
- 多参加 ABC 等阳间时间的比赛,打好基础。
希望新训练计划执行半年左右的时候,我也能够靠 div2 冲上一次橙名吧,加油!