第38次CSP认证游记

今天雨下的好大,还好出门的时候比较明智,穿了洞洞鞋。

因为在本校考,所以时间非常宽裕。上午集训队开完会之后和大伙儿在东区食堂吃了顿饭,然后再买了点吃的喝的。12 点半左右悠闲地逛到 C 楼

遇到一个 82 年 500 强企业的老哥来体验大学生内卷强度,和老哥交流了一下。听老哥说他 20 年前是数据结构大神,学透直接打上 usaco 金组了。又问了问关于就业面试的事情,感觉现在大环境真是卷天卷地啊……

老哥推荐的操作系统好课


考试开始之后被环境折磨了一会儿,python 各种没法运行,命令行的 g++ 说没法用 -std=c++14 编译,于是我开发出了新的工作流,用 dev-c++ F9 编译,然后再用 test.py

T1 一开始想直接用 long double 草过去,没有成功,仔细再读了读题发现分母是 \(100\) 的因子,写了个整数的版本过了。

T2 记忆化 bfs,感觉没有 T1 坑,随便写写就 A 了

然后 T3 就开始喂我吃屎,大概开赛 40 分钟左右开始开的,过程中一度非常怀疑自己的阅读理解能力,然后翻了翻后面的题感觉更加变态了,于是只好回来看 T3

题目反复读了好几遍,然后画了张图帮助理解,总算是弄懂要干什么了

然后本着工程代码多写注释利人利己的原则开始构屎,各种列式子发现好像爆不开 __int128,然后按图把几个 encodedecode 的原型定义好,开始一个一个实现。

实现的过程还是比较顺利的,题面上也可以找到几个小样例做单元测试,整体代码写完非常顺利,再稍微调点逻辑就过样例了。

然后一交,喜提 70……

心里一阵绝望,各种改代码+质疑数据,于是代码中出现了类似 #define __int128 unsigned __int128while (s.back()!='0'&&s.back()!='1') 的东西,各种交依然过不了。想了想感觉几个编码函数都经过测试了,只有那个散列值的规则可能出问题,于是回去读题,发现间接推断出来的散列值不需要进行覆盖,改了改变成了 80 分。然后再读题,灵光一闪发现原来 12 位的散列值和 25 位散列值是不一样的,要分开存,改了改终于过了。

此时大概还有 40 分钟的样子,大模拟写完已经半条命没了,看了下 T4 是不擅长的 DP 就直接放了,去打 T5 的部分分,期间各种写错,在最后 5 分钟有惊无险地拿下了 30 分部分分。330 下播。

纪念一下自己写的屎山(没带 u 盘,赛后 OCR 版本)

赛前做 37 届的题还能贷款(被卡常+不想打部分分)430 的来着,为什么这次这么变态的

感觉知乎老哥的账算得非常到位,论为了卡 300 分 ccf 都能做出什么事来

posted @ 2025-06-08 23:03  LittleDrinks  阅读(432)  评论(0)    收藏  举报