CSP-S 2024 游寄
upd: 分数出来了,100+100+100+92,十分伤心,又错失了一次AK,甚至是在眼前的
部分内容在我的洛谷专栏同步发布。
初赛比较 easy,ak 跑路,不提了。
"第一次"参加 CSP,能答好吗?
10.25
做大巴来鲁 L,300 多公里,四小时。酒店环境很不错,价格挺便宜,喜欢。
晚上去山外试机,还好是熟悉的 win 10!写了个 printf 输出 1e7 个 long long,怎么跑得这么慢(18 秒了都)。加了个 fread/fwrite 快读快输,速度嗖一下提上来了!看来明天必须得把这个加上了。还有 pbds 一如既往的不能用。其它体验都还挺不错的。
10.26
上午稍微制定了下考试策略,希望下午能冷静一些。
结果下午就不冷静了。
来说下赛时心路历程吧:
根据制定好的策略,打算读 30min 题,实际也读了二十多分钟,大概理解了每道题都要做啥。
A 怎么是个 cf 风格的水题,这么好写的吗???
B 咋有物理?
C 怎么是个双子序列?这个我不熟啊!
D 看起来好复杂,害怕/jk
B 仔细想了下,应该是一段区间,然后似乎随便做。
C 想了一会一维 dp,感觉太不可做了,后来直接从暴力 dp 入手,就会了。
先写 C,写了 10min 似乎可以了,然后把 A 写了,再意识到了 B 后边的部分就是个典贪,也写完了。此时大概过了 1h 多一点点。
信心满满,开始干 D。
首先意识到了,全是人的时候胜者固定。然后就会二的次幂的部分分了。
接下来考虑人机。发现人机是否可以赢,是它可以任选的!
然后似乎就可以把树缩成 log 个点,就有单次 polylog 做法了,能有很多分,但是不满足。
还有俩小时,凭什么不能 AK 呀!
意识到可以直接自上往下做,对于任何一个点,能到达它的 c 一定是一段区间,所以直接维护就好了?!!!转成很多个区间加。
开写!!写完了,输出一堆负数??意识到一个中(即不大不小的)问题,改改改!又遇到一个小问题,改改改!结果发现,区间加一个单点,还和这个点是否能赢有关/tuu。又改改改,成功过了第一个样例!!1 结果后面的样例都差一点,自闭了。此时还剩 1h。
继续调,找不到问题,打算先把暴力写了?但是暴力也不好写啊,于是打算继续调。
拍?暴力咋写呢。即使拍出来了,又怎么调呢?那个时候,思绪已经很乱了,数据也显然不能模拟得动了。
18:00,啥都调不出来,听说比赛时间还剩 30min,可是最后五分钟不让写题,于是真没时间了。没办法,先把暴力打打吧!意识到和我刚写的线性做法,有一点点是一样的,于是在这个基础上 rebuild,看起来似乎很对。然后成功在 18:15 过了前三个样例,后两个会 wa。
上厕所冷静一下。"洗把脸,做高抬腿 from 曹立",最终,找到了一个智障错误,在禁止写代码前五分钟内成功过了所有样例。
测个极限数据,不开 O2 两秒,开了 1.5s,还有救吗?尝试卡常,但是发现没啥地方能改的。那就这样吧。
最后检查检查跑路,预计 100+100+100+暴力分=[300,376]。
坐大巴回家。
10.27
凌晨两点,终于回到了鲁 F。接近 400 公里,夜晚被限速,只能开 80,足足在车上待了 5 个多小时。
第二天把代码都重构了一遍。洛谷测出来是前三题没挂,第四题不好说会不会被卡常,如果不卡常的话分数还能多一点点。/dk
鬼知道 ccf 评测机有多快。希望能对我好点吧。看天喽!
总结与反思
现实和理想总会有一些偏差的,预先制定的策略也不可能完美贴合实际。不过大体的路线最好是要一样的。
今年读题方面安排得还是不错的。开场做题也还算顺利。
就是最后一道题在决策上稍微出了点问题。假如我暴力最后没调出来,那不就真的两头空了吗?
究竟是为什么我一直拖着,不想写暴力,知道最后没时间了,被逼的才写出来?
还是关键时刻出手不果断啊。没能对自己狠下心来,完全抛弃掉那个花了很多心血写出的屎山代码。
非得对自己立下 ak 的目标要求,实际就差那么几十分或者十几分又能怎样呢?别再拉跨一个去年的 300 就很不错了。
舍小搏大,弃车保帅。希望以后面临选择的时候,能不犹豫,冷静下来不靠情绪做出决定吧。

浙公网安备 33010602011771号