CSP 2022 游记

· · 个人记录

关于评论:这是我问 EDqwq 是否是神时他人的回答。

\huge\textbf{upd:75+100+85+0=260}

\huge\textbf{脚造数据+ccf少爷机直接改命}

初赛

考前随便做了几套题就上考场了。

J 不说,S 感觉有好几题不确定,最后 5 min 改错 6 分+。

考场慌(以至于忘记带答案出来),考后慌了一段时间,克制住自己没有估 S 的分(因为好像估出来会更慌)。

出分 J 84,S 68.5。

复赛-J

说来惭愧,考 J 的原因是去年 J 太烂了。

考前想过应该不要重蹈覆辙去年的垃圾经历。

考点在自己学校。

八点半开考,八点二十发现自己身份证不见了(注意这时我们才结束入场),以最快速度跑回班拿。

半小时搞定 AB,然后一看 C 表达式,心里骂了一下出题人就去 D。

D 的 dp 想了大概 20 分钟,写的时候越写越乱,但是在一个半小时内最后搞定了。

然后是 C,写+调一个半小时,最后寄掉,大概一分没有。

估分 270,但无论如何明年绝对不会再考 J。

我也不知道 ABD 哪个挂了分()

复赛-S

应该是这篇游记的正文(

一模一样的经历:考前 10 分钟轮到我入场,结果身份证又没了。

但这次身份证不在我的教室,我彻底把它弄丢了。(后话:在食堂被一位老师捡到后交给了我老师)

跟教练说了(因为在本校考),经过一个身份证的复印我还是正常开考。

但说实话心态一定收到了影响。

开考就乱翻题目,一眼 B 是博弈论,C 很奇怪,D 一看就不可做,就死磕 A。

但是令我心态炸的是 30min 后身边大多人都在敲代码,就我一个看着 A 什么思路没有。

我想的是对每个节点维护一个 vector 代表能走 k 步到它的点集合。

然后从 1 的集合枚举 A,D,再从 A 集合枚举 B,再从 D 集合 C,最后判断 BC 是否能 k 步互达。

我坚信这不是 O(n^4)(大雾

觉得没啥戏,于是被迫看 B。

本来以为提高的博弈论会很难,结果它压根就不是博弈论。

然后一眼发现只用维护正数负数中绝对值的 max/min,然后 4*4=16 种匹配暴力搞。

于是 ST 表,半小时写好,但是无论如何也过不了大样例。

最后发现是某个奇怪的地方没有判 inf,但是我 inf 设置的是 0x3f3f3f3f,导致我一直以为是答案错误,没有观察出来是 inf 错了的锅。

于是总共在 B 这种够吧题上浪费 1h。

时间只剩 2h。

我磕了一会 C,意识到这个“从每个点可以无限走下去”限制就相当于没有。

然后就直接写维护 degree=1。

发现显然的有 40 分。

然后通过均摊的方法过掉了两个特殊点,估算后有 60 分。

此时还有 1h 左右。

最后乱搞 A,把上面那个思路给写了,自测大样例发现 70 分的数据范围的大样例可以在 0.3s 左右过。

这时只有 20 min 没时间了???

但是我 D 的暴力还没有写。

于是暴力没写完寄掉。

最后估 70+100+60+0=230.

infoj 80+100+60+0=240.

警钟撅烂:没打 D 的暴力。

230,能保 7 级吗?