CSP 2024 游记

喵仔牛奶

2024-09-21 19:39:09

Life & Travel

第一轮

考前

乱做初赛模拟卷,阅读程序直接乱蒙!分数大概在 [70,85] 区间内。做那张广为人知的海亮“内部”卷时,惊奇地发现完善程序只对一个,后来发现是两个题写反了 /oh。

赛时

2024.9.21。

考点就是 sxyz,所以不需要很急。早上在机房里学了一会快速排序,因为快速排序的双指针写法有点困难,写了一万年,最后还是没过模板题。

J 组 9:30 开考,在 9:00 左右下楼去考场。为了看时间拿出手表,抬头看见考场门口的志愿者在向我示意,仔细一看发现我们的手表竟然是一模一样的同款!!

9:30,发现卷子有点过于简单。突然意识到之前练的是 S 组卷子,顿时感觉正常了。不会格雷码,于是观察选项,C 选项长得与其他三个不一样,排除;B 与 AD 差别较大,排除;最后发现 A 选项在最高位有 1,排除。最后,完全不知道啥是格雷码的喵仔牛奶竟然做对了。

回到机房,浣江的人也来了,坐在最后一排颓废(zjzx 人的叫法,sxyz 似乎叫“开狙”)。对了一下民间答案,就一个有争议的选择题不一样。发现有人在讨论区指了个汉诺塔的模板题,就写了一下。剩下也没干啥。

14:30 开考 S。第一题就不会,玩迪克!随便蒙了个 D,然后去看后面的题。但是单选竟然意外地简单,很快做完了。最后一题放了个意义不明的最小割计数,不知道出题人想干啥。

完善程序第一题居然有快排,那我是不是押中题了!第一篇没啥难度,很快通关了。第二篇仔细一看,发现 solve 中不能有前导零。其他题没啥难度,第二题问输出最大值,那就是全部放 1 咯,答案是:

\sum_{i=0}^{6}(2^i-1)\binom{6}{i}=3^6-2^6=665

第三题问最大差值,也就是最大化 0 开头的串总和。可以发现最优答案是前缀 0 后缀 1,不然可以交换得到更优解。设有 k 个 0,由于 n=m,答案为:

(2^{n-k}-1)\sum_{i=0}^{n-k}(2^i-1)\binom{n-k}{i}=(2^{n-k}-1)(3^{n-k}-2^{n-k})

代入 k=1,2,3 算一下,发现 k=1 是最优解。

最后一篇是一个莫名其妙的哈希,手模是容易的。

看完善程序第一篇,发现这不是我们 P10417 吗!很快写完吗,一看答案是 5 个 A,顿时感觉出题人很幽默。第二篇也比较简单,那个 memset 题,注意到上面有 inf,直接把它转为 2 进制即可。因为我比较唐,我 32 位全部转完了,实际上只需要 8 位即可,火。一看第二篇答案,AABAA,太幽默,太幽默。

考完了,一问同学,他们完善程序都只写了 6~7 个 A。而且我第一题错了,答案应该是 pwd。不过到校门的时候,zyz 和 fhq 说的完善程序的正确答案和我的答案是一样的。

与其他 hjzx、zjzx 的学生一起坐大巴回诸暨。初三到高二的 oier 全部在一起,一个空位也没多。唉,这可能是我们最后一次全部坐在一起了。

回到家里,对答案发现总共错了两个单选和一个判断。

第二轮

Day -1

开狙。

你知道吗,ZJ 有 10^9+7 所高中,而我在所在的高中排名最好也只有 rk20 左右,也就是意味着我在全省的排名达到了 2e10+,如此成绩,如何一等???

在绍兴买了一杯奶茶,到杭州还没喝完。提前一天到酒店,在酒店门口碰到一车海亮人,拜谢海亮爷 /bx。

睡前打开洛谷,我测,FAOI-R4 怎么被打回了。

Day 1

通日在东落雨。还好上日带上把伞,弗然老早淋湿了。

正字难考,较为规范的写法应该是这样吧?

上午

酒店提供早饭,吃完就去考场了。zlt 和 wyz 就在旁边,和他们打了个招呼。!

8:30 进场,先看了一遍题面,前三题好像都不难,然后开始想 t4。不知道为啥想了个图论建模,怒想 0.5h 没有想出来,鱼鱼蒸。

然后直接开写前三题,写写写,写了 1h 过了。继续想图论建模,又想了 1h,还是不会。

还剩最后 1h 了,感觉 AK J 组已经不太可能了。玉玉,想了一会出题组的事,然后开始乱想。明明去年都 AK 了,那今年没 AK 不是说明学了一年变菜了。还剩 35min 的时候,突然发现不用图论建模,直接 DP 就做完了!开始写写写,娇娇附体,键盘敲得贼寄吧响。还剩 25min 的时候过了所有大样例。

剩下 25min 继续想出题组的事。出场的时候问了一下,wyz AK 了,花 1h 写了个简易 generals,不过写挂了。zlt t4 写了个神秘根号分治,感觉不太能过。

下午

中午回酒店躺了半小时,然后 2:10 进场。进场的时候身份证找了半天,给我急坏了。

先花 10min 看了眼 t1~t3,发现 t3 有一个比较显然的 50pts DP。决定顺序开题,先花 10min 把 t1 过了。

t2 花 15min 看懂了题面,然后又花 15min 写了一个能过第一问的代码。写完之后发现可以检测的是一段区间,问题就变成每个区间里至少保留一个,最少保留多少。这个直接贪心就可以了,不过我唐唐,写了一个树状数组。二分里面负数除法有些抽象,干脆手写了一个二分。又花了 30min 过了所以大样例。

接着看 t3,花 10min 找性质,楞是啥也没找出来。然后去看 t4 题面,稍微想了一下,发现不太会。回来看 t3,发现直接优化那个 \mathcal{O}(n^2) 的就可以了,写写写,又花了 30min,过了所有大样例。

还有 100min,因为已经 300 了,决定 t4 写点暴力就润。稍微思考一下,发现平方暴力比较容易,于是开写。写了到 18:00,过了前三个样例,测第四个样例的时候没过,急了!于是大眼瞪瞪瞪,瞪不出来,鱼鱼蒸。最后 10min 想了一下要不要拍 t3,但是发现就算拍出来也调不出来,就放弃了。感觉 t4 小数据应该是能过的,想了一下要不要加记忆化,感觉记忆化没用,没加。

出场的时候发现每个人都 300+,只要我 t4 爆蛋了!!

在酒店旁边吃了点 KFC。汉堡没了,只能点了些韩式炸鸡和奶茶。奶茶是冰的,结果杭州买的奶茶到诸暨还没喝完。

Day 2

开狙。

晚上买了一瓶可乐,结果因为去的时候睡着了,到绍兴发现才只喝了一口。为啥我去别的地方时总能把饮料带去?和 ztr 聊了一下,发现暴力记忆化一下就能过所有 A 性质,红温!!

Day 10

查分,没 F!!

不过 324 能去 WC 吗 /kel