CSP 2024

· · 生活·游记

赛前

在今年,我参加了 CSP 2024 的比赛。由于水平有限只参加了 J 组的认证。

初赛十分顺利,虽然考试考场变有人施工,有些吵,但还是稳定发挥出了水平。可惜的是有一道题没有考虑到一个数自己是自己的倍数,没拿到满分。

我真正学编程也只不过有一年。在复赛之前,由于初三的学务较为繁忙,只得每天做题到11点多。经过一定的调整,水平在 {\color{#fc0}普及/提高-} 的上下,我觉的应该够做 CSP-J 大概320分左右。

比赛实记

经过一周的练习,我感觉状态真的没有太好,早上冲了一杯上古咖啡 (都不知道什么时候买的) ,然后做某路公交车来到考场。由于考场学校太大了,也是第一次来,在我爸试探了两个门后,终于从东南门进了考场。

路上,我爸竟然还一直跟我在规划考完后的一堆乱七八糟的事。给我心态差点整崩了。进了学校,一切顺利。还在上厕所时遇到的一起上编程课的同学。考场电脑用的虚拟机比家里自己下的好特别多,家里的窗口小,分辨率也特别低。

大概还是因为太不熟悉环境,加键盘用不惯,适应的比较慢,还顺便帮旁边的同学介绍了主要的使用方式。下载试题包的时候,解压码整了好久,最后还是下了开考后的不带密码的rar文件。

第一道题稳定发挥,大概25分钟左右,就做出了正确的代码,又用10分钟试完了所有测试点。第二道题,先是做出了一个简单递归的搜索,但是大样例过不了,检查了好久,才发现,是因为堆栈溢出。然后,改了一种循环的方式,通过了所有的样例。然而这事时间已经过去了一半,头已经有些发晕。

不出意外,出意外了。第三道题,我看了好几遍才有了大体的思路。一开始是想将6根拼出来0,7根拼出8,两种进行分类,但是,后来算了好几遍才发现规律,后面用的越多,前面的数位就越小,从而只剩下尽量7根拼出8这一种办法。然后打出0~14 根的所有情况。写出代码,加上228替换成200的一个特判,然后就成了。然而,由于当时昏昏欲睡,状态特别差,竟然将本应为68的一处数据打成80了,考试后才在洛谷提交时看出来。

第四道题,根本不知道在说什么,赶忙写了dp由于竟然有高达 O(n^5) 的时间复杂度。根本不敢交,最后写了 5pts 的第一个测试点的解。检查了一遍freopen,然后就趴了十五分钟。

考试之后

先是自以为305分,然后,上洛谷一交就发现T1里没了的 joker 原来是我,竟然将T3中的68打成80了。太可惜了,然后我写了一篇T3的题解,当时没加上考试时太多的不必要的思路,首先是为了防止误导谷民,其次也是为了别太献丑,还有是怕时间太长,题解通道关了。

在学校,我遇到了原来的一位同班同学(初三重新分班了),他 J 组第三题没看懂,只做出来一半,我突然瞬间就感觉挺好的。

总结