csp2024 游记
day 0
五点半就放学了。在家颓到九点半才开始学习,结果没一会儿就在 kanye 二专的弦乐声中睡着了。这天整体没有任何慌张的感觉。
day 1
早上是被自己的心跳声吓醒的。然后躺在床上,脑子里面跟走马灯一样地闪过一年前的画面:人挤着人,疾风骤雨般的键盘声,黑色窗口上跳动的白字,手机屏幕里兀然显现的那个“0”……
然后开始看之前的博客试着复习,并且使自己镇静下来。结果那阵急速的心慌总是会时时地闪现。到了十一点,实在静不下心了,就出去散步了一个小时。
午饭时间 csp-j 的题就出来了。看了一下,十多分钟胡出了前三道,T4 又想了十分钟我以为胡出来了但后来想可能实际是伪的(
接着就奔向赛场了。路上听的是 Black Country, New Road 的 Concorde。
到的比较早,于是我便慢慢地收拾了一会儿,把可乐、水杯、纸巾、一支黑笔、一支红笔、准考证、身份证一件一件地从包里掏出来,将手机关机。
进入考场发现这次竟然是隔着坐的,开心炸了(川大主办方我爱你们 qwq);考试开始后发现考场也没有狂敲键盘逆天哥,更开心了。因为这些,我很快就松弛下来了。
-
先花 10min 通读所有题目,然后看 T1。读完以后感觉唐得有点难以置信,比去年还简单,多看了几眼。写完以后大概是 20min?
-
平复了写完 T1 的激动心情后开始想 T2。发现就是高一物理 + 二分 + 一个普及组的区间贪心(怀疑有没学过物理的小朋友会有点抓脑袋)。然后写,写完以后可能是 1h 不到。
-
平复了写完 T2 的激动心情后开始想 T3。分析了一下第 \(i\) 个数在什么时候会存在贡献,当且仅当存在一个 \(j\) 满足 \([j+1, i-1]\) 都是另一个颜色,并且 \(i,j\) 同色。于是就想到构建 DP 的方法:钦定 \(i,i-1\) 不同色。写出 \(O(n^2)\) 后再加一个前缀和优化转移就好了。
写完 T3 大概是 1.5h。回过头去写了半小时 T2 的拍,没有任何问题。
-
最后两小时都在冲 T4。想了一会儿以为自己有了 \(O(n \log n)\) 做法,代码也不复杂,于是开写。结果写到一半才发现自己低估了该方法的实现难度,大概最后 30min 写了出来,更糟的是过了一会儿又发现这个方法是伪的。不过它能够刚好通过特殊性质 A,B。
于是后 20min 就开摆。唯二做的是在最后一题代码中祝大家 AK,以及给 T2 加了个 long long,但其实没有必要。
预计得分:100 + 100 + 100 + 36 = 336。
“……六、五、四、三、二、一、零!考试结束啦!”场上的一个小学生激动地喊到。不像去年,今年的我缓缓站起,仰着身子伸了一个很长的懒腰,感到很踏实。
晚上信竞队的同学们又一起出去聚餐,这回吃的是烤肉。某位 cdqz 爷也回来和我们一起吃。
由于今年代码不公开,所以没有小图灵查分。早死晚死都得死,让我们多焦虑这么多天有任何好处吗?
day 3
两天以后的早上我从学校的床上醒来。一边洗漱,一边想着两天前的代码。突然,我意识到我 T3 的输出部分似乎写错了!
具体地,由于我的 \(f[i]\) 的含义是 \(i, i-1\) 颜色不同时的最大贡献,所以输出部分需要对每个 \(i\) 考虑其作为最后一个颜色段开头的情况。于是可以写出如下代码:
ll sum = 0, ans = 0;
for(int i = n; i >= 1; i--){
ans = max(ans, f[i]+sum);
sum += (a[i] == a[i-1] ? a[i] : 0);
}
但是……我当时手滑不小心将 \(ans, sum\) 的更新部分进行了顺序的调换……
这样就可能导致本来钦定了颜色不同的 \(i, i-1\) 可能多出不该有的贡献!
完蛋了!!!!
我瞬间破防。
室友被我惊吓到了。
我崩溃地安慰自己:可能数据水,不会出错……就算错了,noip 还有机会……
镇静下来以后,我试着思考这个地方出错的概率。
结果更神奇的事情发生了——这个地方并不会出错!
具体地,sum += (a[i] == a[i-1] ? a[i] : 0);
这一句会有贡献,当且仅当 \(a[i] = a[i-1]\)。假设 \(i\) 原本在 DP 过程中匹配的是位置 \(j\),那么完全可以将此处的贡献视作 \(i, i-1\) 匹配,\(i-1, j\) 匹配,绝对代表着另外一种不劣的选法!
简直是虚惊一场。
day 114514
出分了:100 + 100 + 100 + 52。
由于 T4 我写的是个有概率正确算法,碰巧多得了 16pts。运气不要说有多好了。
我们学校这次整体考得都很好,高二有两个 384pts 的,在全省都能排到前五。
但当然,同机房也有本来估分 300+ 但 T2 挂到 60pts 的同学。
听着他悲痛的哀嚎,我不由得思考:我 CSP-S 发挥得好,noip 还能发挥得好吗?万一下一次这个挂分的人就是我呢?……
我找到了解决焦虑的方法:
每次都预先想清楚,如果最坏的情况发生了该怎么办。譬如,csp-s 前安慰自己就算考砸了还有 noip,noip 前安慰自己就算考砸了还有明年一个赛季,高考前安慰自己考砸了还能复读……
人生的机会还是不少的。
结语
回首三年一路走来,有胜有败,有泪有笑,我也由一开始那个连万能头都不会打的菜鸟成长为如今的这个人,不变的是对 OI 的热爱。
将目光放远,在不远处等着我们的,还有 noip2024 和 省选联考2024。未来如何,还尽为未知。
我不禁想到去考场的路上听到的那首 Concorde。Concorde,协和飞机,外表酷炫的超音速客机,却不可避免地因一场空难作为时代的尘埃消逝在岁月的长河中。而歌词里的主人公,却以一种堂吉诃德式的姿态痴心追寻着他心目中的那架飞机。
\[\text{And you, like Concorde} \]\[\text{I came, a gentle hill racer} \]\[\text{I was breathless upon every mountain} \]\[\text{Just to look for your light} \]
大多数竞赛生都是炮灰。我们又何尝不知道呢?可是热爱,使我们保持着追寻的步伐。
就算未来是注定的失败,我也将以最初学 OI 时那股最纯粹的热爱,舞出最美的 one last dance。
\[\text{And I'll come to you like a child} \]\[\text{Concorde and I} \]\[\text{Die free this time} \]
www过了几天看当时写得好中二啊