CSP-S2024 游记

· · 生活·游记

SD OIer。
记录一下参赛经历,以及教训。

赛前闲话

这次赛前只想拿到 7 级钩,弥补去年的遗憾(然而大概率失败了)。

佩服想要冲省队的同学,我也想,但是我觉得我远远没有那个实力。

如果运气好的话,或许会尝试一波更高层次比赛?

不过,我两年前就拿到了 NOIP 省一,再拿个省一确实没啥用。

Day -?

南京日常刷题。

顺便通过了 GESP 8 级,免除了 2025 及以后的初赛。

然而由于 9 月考试错过申请衔接时间,只能回去考初赛,SD-S3099。

Day -1

wjr 由于错过 GESP 8 级申请时间,和我们一起回去考初赛。

高铁上坐 wjr 旁边,他在看一些好像是动画的东西,我看了会初赛,也开始摆烂。

lichess.io 玩国际象棋,尝试解残局,然而二十几个只对了 3 个。

得到了 wjr 妈妈的水果,酸奶啥的,拜谢。

晚上回了 WFYZ,又去熟悉的场地打羽毛球。

几个月没打羽毛球,水平下降严重。

食堂的饭还是和以前一样好吃。

晚上打 CF。

被 C 卡了一整场,悲。

Day 1 - 初赛

上午 11 点起床,发现 CF 掉了 107 分,悲。

去吾悦广场吃了顿麦当劳,然后就去一中考点了。

听说今年是潍坊首次全市统一考试,我想着,按照平时在一中的排名,应该是稳过的,不怎么紧张。

考点没有找到 wjr 大佬,然后等到了没带卡的 fjy 大佬,就刷卡先去了振宁楼机房。

由于没带电脑,就看着旁边的人颓废。

考点在隆平楼,平时另外四科竞赛的上课地点。

认识的人里面好像就我在 2 考场。

值得一提的是,本次规则禁止把手机放包里。

感觉考试形式和平时的期末差不多。 有广播提示,只不过广播什么算作弊的时候比较困,就睡了会。

发下试卷后,看了眼前几题,都会,看了下试卷结构,和平时模拟的一样。

先做前 15 题,前 15 题都是水题,做完发现只过去了 15 分钟,未曾设想的顺风。

然后接下来就是破防的时刻了。

阅读程序第一题看见一堆位运算有点慌了,暗示自己其实那些东西无关紧要。

往下看,看到了一个 “generate" 字眼,果然是随机数生成器。

扫了一眼 recursion 函数,看上去好像是归并排序。

仔细看,发现这玩意好像是快排,但是 depth 是干啥的没整明白。

没想明白,就去看选项。

第一题看上去是对的。第二题居然要计算 logic 函数,成功打脸了我。

这说明 logic 绝不是什么乱糟糟的随机数生成器。

下面果然考到了 logic 的功能。分类讨论之后 19 题选了 B。

20 题直接弃疗了,算不出任何结果。

到这个时候,心态出了一些问题了,平时能速通的阅读程序,这次居然第一大题就有不会的。

随后看第二大题。

发现有两个 solve 函数,然后,我发现这两个好像都是计算二进制数 sn 位里面选最多 m 位, 选择的所有可能的总和加起来的结果。

但是,我反复读了很多遍,也没找出来其中哪个有问题,可是选项明确说了这两个结果会不一样。

而接下来 4 个选项全部依赖两个函数的差别,可是我盯了很久也没盯出来两个函数的差别,遗憾弃疗。

这个时候心态已经崩了,只剩 1h 了,阅读程序的两个大题和全部的完善程序都没有做。

但是抬头扫了一眼考场,发现前面的人多数在发呆,就我一直在动笔,就给了自己点心理暗示,所有人都不会。

这个时候,我猜测本次的阅读程序就是很难,唯一的破局方法就是跳过阅读程序,解决完善程序。

所以,我快速读了一遍阅读程序第三大题,把其中的送分题(27,28,29,30 )解决了,直接跳去完善程序。

相当意外的是,完善程序第一大题极为简单,做了大概 5 分钟就做完了。

只是有点疑惑,为什么全选 A?

看第二大题,次短路,刚好我会这个东西。

但是 CCF 的解决方案和我见过的咋完全不一样啊?

大概根据变量名猜测了一些含义,然后大概就倒推出了作者的思路。

然后,我就根据倒推的思路解决了整道大题。

就是,还是非常疑惑,这道大题也选了一堆 A。

如果没啥问题,好像 ak 了完善程序?终于能回去做阅读程序了。

重新读了阅读第三大题的代码,发现这玩意似乎是个类似于树哈希的东西,但是树节点的权值取决于节点编号是否为质数,算了算解决了 31 题。32 题看上去很难做,扔了。

回去写了写阅读第二大题,但也只解决了 22,23,剩下的无能为力了。

出考场就冲出了校门,不想听到任何有关初赛的讨论。

然而还是看了几道题,发现完善程序好像能 ak?

洛谷上犇犇看了一圈,吓坏了,S 组人均 90+。

但是我感觉这场我就是 60 分左右的发挥水平。

不管那么多,最后还是查到了成绩,81, 超出预期。

可能是吃太多了,打 ABC 的时候全程呕吐的感觉,结果成功打出了 1600- perf。

WFYZ 参赛 22 人,初步入围 16 人,感觉很惨烈。

初赛返程

值得一提的是,返程之前在 wjr 家看到了他家的鹦鹉。

这个鹦鹉还自己爬到我肩上,在我耳边嘀咕着什么,偶尔能听到一些人话,比如 “吃饭”。

初赛与复赛之间的一些事

按照时间顺序的话:

  1. 公示初赛晋级线,我比较熟悉的同学里面只有 1 个文化课为主的没有晋级。

  2. vp CF Div.2 首次做出 5 题,perf 2200+,虽然不是现场赛,不过给了我巨大的信心。

  3. 重做去年 CSP-S,补了 T1,T3。

    去年赛时 T1 调了一整场没过大样例,T3 60 挂成 0,这次我不看题解解决这两题,算是打破了心里阴影。

  4. 打 CF Div.2,结果血崩,只做出了 ABE,而 wjr 巨佬 AK 了。

  5. 晚上 CF 11:35 开始,被 cloudflare 卡死了。

    过了半个点看到题,然后想出了 ABCDE。第二天写了,都过了。错失上紫机会。

  6. 模拟赛 T2 本质上错误的乱搞冲过了 100%,hba 模拟赛分数最高的一集。

  7. 做勰码提高组模拟,从 400 挂到 230,致敬传奇大样例。

  8. CF 上紫了,侥幸猜对了 E1 结论,然而怎么有用 GPT 参赛的比我多一题啊。

值得一提的是,这段时间经常在晚上和 wjr 出去跑步,感觉体力明显不如他,。

S 二轮前一天

出发。

路上和 wjr 玩国际象棋,各有一些失误,最终只剩下双方的王和我的一个马,和棋结束。

后面就是我自己摆烂。

和 chb 同屋,不过回来直接去楼上摆烂。

有夜市好评,点了份热干面,好吃。

chb 等人步行 1.6km,然而最后回去点了外卖 :(

试机的感受是,为啥又没有 Linux 系统?

本来想去见洛谷网友,然而我并没有找到机会去寻找他所在区域的位置,悲。感觉很抱歉

第二天发现其实很近,可是试机的时候实在有点挤。。。。

晚上本来看到有人开了 MC 服务器,正准备进去,lxn 进来了。

不过问题不大,回到自己房间继续。

chb 11 点多的时候,出去不知道干啥去了。

1:00 又回来了。

考试当天

上午继续摆烂,由于比较紧张,也不知道干啥。

下午考试前先把平时打 CF 的板子敲了上去。

按照模拟赛的经验,我的计划是前 0.5h 读所有的题,对每个子任务按照难度升序。

然后从简单到困难逐个解决每个子任务 ,采用保守策略,一档一档的想。

正是由于我优先解决子任务而非整道题目的策略,导致了我这次的失败。

开考,比较意外的是我刚读完 T1 就想出了怎么做。

不过仍然读完了所有题,感觉是:T1 是 Div.2 A 难度;T2 前大约 40 分可做;T3 前 50 分很容易;T4 比较难拿分。

先用 3 min 写了 T1 并通过大样例,此时离开考只有 20min。

随后,我的计划是一档一档的写,没想到过程却比较意外的漫长。

等我将做的所有子任务调试通过大样例后,已经过去了很长时间,但是只有 60 分。

我突然想到,只要二分一下,不就转化成了这样一个问题:给定一些区间,选择最少的点,要求全部覆盖。

这已经较为接近正解了,我其实见过类似的套路,但是想了 3min 还没想出来。

因此,根据策略,我还是去写了 T3 的 subtask 1,2。

不过 T3 写的还比较快,拿了 50。

现在是 T2,T4 的选择了。

然后我选择了 T4,这是我本次比赛最后悔的决定。

奋战了一个半小时,仅仅拿到特殊性质 A 的 16 分,调试时间长的原因仅仅是把建树的 dep 初始值错误的设置为了 1 而非 0

剩下的时间不足以给我去冒险尝试 T2 正解了。

检查完,考试也结束了。

我为了 T4 的 16 分,放弃了 T2,T3 的尝试正解的可能。

看到别人一个个估分全都 300+,破防了。

听说 T2 是绿题而 T4 是黑题,更破防了。

估分:100 + 60 + 50 + 16 = 226,只要不挂分的话应该有希望拿省一,静等结果。