CSP2022
从 19 年初二第一次参加 CSP,到今年可能的最后一次,已经四年了。
停课停了也快两年(其中被半停课耽误了半年),勉强到了省队水平。
19 年的 CSP-S 很是开心,毕竟学 OI 8 个月的我和我的朋友,都顺利拿到 1=,只是可惜另一位没有过初赛。
20 年的 CSP-S 有点揪心,CE T2T3 失去了取得历史最高全国排名的机会,(这一年是真的是超水平发挥,100+0+0+95)。但是咱还是顺利 AK 普及组,第一次上了学校的宣传。
20 年发生了很多事,最初一起学 OI 的两位朋友(现在也是最好的朋友),因为各种各样的原因,离开了 OI,我以为我已经是独自一人,但我又结识了新朋友——佳馨和walk。
21 年的 CSP-S 只能说是一般般,我没有做出 T3,T4 也没有写出暴力,遗憾的以 260 画上句号。这一年发生了太多事,NOIP 因为莫名奇妙的原因变成了 0 分,自然无缘省选,高一省队的理想破灭。
22 年,我在 NOIP 碰壁后回归文化课调整心态,期末拿了一个还算行的成绩,我没想到我的文科成绩比理科还好,哈哈。这段时间我接触了软件工程,自己尝试着写工程,学会了 Python 和 JavaScript,22 年开学继续停课冲击省选,虽然我没有机会参考,但水平不能落下。省选自然是几家欢喜几家愁,高三的一位学长心态出了问题,甚至无缘 D 类,佳馨顺利进入省队, walk 以一名之差留在外面,我在 Day1Day2 的下午分别到原考场(我们学校是考点)做了题,心情很是糟糕。省选后学了 2 个月的文化,OI 的水平开始停滞。学完高一的文化课内容,去了外地集训,但是水平并没有太大提升,回学校后开始常态化考试,停滞的水平继续有了一些上涨,这个时候我还要兼顾两三个工程项目的开发,非常累,于是就把工程项目全部推了,发现好像又有点无所事事,最后还是捡回来了一个,CSP 前一周和佳馨研究 web 相关的东西,为盒武器的研发做准备,不小心把 vjudge 搞炸了,后面操作就很小心了,没再出事,事实上我周六早上还在一边写我 mirai-plugin 项目的 kotlin,一边和教练聊怎么学 Python。
终于出发了,在校车坐在前排上一路唱着歌,但是后面的学弟们都没听,我甚至还没有意识到我已经是车上年级最大的人了,还是那副嘻嘻哈哈的脸。
到考场,和转学的同学面基,还拍照留念,然后进考场的时候感叹人家是什么机房,我们是什么机房,有一说一, i7-12 的机子用起来那是一个舒服,可惜 windows 下没有高版本 g++,被迫用 c++11 语法,战斗力下跌 10%,发现有没有 Python,战斗力再下叠 5%。
发题,顺序开,T1 想都没想一个 bfs 求全起点最短路先糊上去了,然后定义了 dp 准备 dp,发现好像不太好搞,想了一下,还是得枚举,枚举策略就那几种,试试就出来了,但发现有不少细节,于是停下来认真构思代码,用了一些面向对象的思想,很顺利的一遍写过,通过所有大样例。
T2 看了一下,简单题,还是细节很多,继续停下构思代码结构,又使用了一些面向对象的方式,写出来很优美的代码,一遍过大样例。
此时还剩 3h,我尝试开 T3,比较顺利的想出 60 暴力,发现不会正解,难道要重蹈覆辙?发现数据其实挺难造的,于是考虑乱搞,写了一个放 Tag 的做法,我尝试 Hack 这个做法,没有成功,但是我确实知道这样的复杂度是假的,我从来没怀疑过自己造数据的能力,我并不认为出题人造数据的水平能比我高到哪里去,所以大胆当正解写了,我对自己的常数也很放心,大致思考了一下最坏情况,如果目标为 $80pts$,操作数其实可能也就 $4\times 10^{10}$ 的样子,而且不可能卡满,但是没有高版本 g++,unordered_set
用起来还是有些提心吊胆的,如果有个 gp_hash_table
,我会放心很多。大样例那么水,当然轻而易举跑过啦。
这时我还有 1.5h,思考了一下,扣除了 0.2h 最终检查的时间,我放弃了 T4 正解,尽管我浏览题目时已经想出了它的正确解法,我把目标定为 68pts 的暴力,但是并不顺利,我没有通过最后一个大样例,而且无论如何都找不出问题,最后应该是 36~40 分。
出来自测,不出所料,所有民间数据都卡不掉我的 T3,目前是 100+100+100+40