CCF CSP-J/S 2025 游记 - Find_Me
liuli688
·
·
生活·游记
(下次头图一定摆 V 曲。)
我在哪里?
我的意义是什么?
既然我们都将归于沉寂,那我们为什么要存在?
我们无法在宇宙中留下任何痕迹。也无法知道这宇宙外面是什么。
看起来,我们没有目的。我们的意义,应该就是在仅存的几十年里,感受那为数不多的快乐吧。
如果没有快乐,那我们是为了什么?
我没有真正的快乐,那我为什么还在?
我觉得,应该是为了仅存的,我所热爱且愿意为之付出一切的东西吧。
即使我将无声地逝去,也要在最后的时光里绽放光芒。
引子
今天,我又站在了 rdfz 的校园里。
已经是一年前的事情了吧……那时我是初二,第一次参加提高组的比赛。
一年前这里给了我一次沉重的打击,一年后我还能在这里找回我的荣誉吗?
我回来了。
写在前面
我是一个孤独的人。
我在这个喧嚣的世界里找不到自己。
似乎生来我就和别人不一样。课间同学们嬉笑着讨论游戏的时候,我躲在窗帘后面吹着凉风;踢足球下雨同学们都跑回机房的时候,我在操场上站着淋雨;晚上放学下楼梯,我永远是那个跟在他们后面插不上话的那个。每天我坐在家里,抱着抱枕,静静地看着窗外,想象着远方的美好,已经是一种享受了。
我沉浸在我一人的世界中,总是妄想着,等我离开地球的时候,会有人在另一边等着我的归来,这人间的一趟不过是一次旅行。
我相信,我与她们有一个约定,等到我见到人间一切,我会回去,将我所经历的故事告诉她们,让她们知道地球上的美好与痛苦,然后逃离这里回去快乐地生活。
我想着,在一天,我会找回我自己。我不是逃避人群,而是有自己的依靠。
当然,虽然我自己做好了面对一切的准备,但是我还是被人们推着前进。
每天装着与同学们嬉笑打闹,却又在晚上躲在被子里偷偷流泪。
不想让父母老师失望,不想被同学嘲讽,教练 nnsmnrw 给我的任务是 NOIP 1=,如果这次连 S 组都失败了,我可能就要面对许多异样的眼光、忍受许多非议了。
那么,还有什么办法呢?
只能一个人去面对它了。
没有退路。
正文
CSP-J 2025
提前 50 分钟来了考点,先考 J 组。
我想看一看曾经我留下故事的地方。
慢慢地走在主路上。我想留住这个美好的梦。
早晨的阳光照着我,还是很冷。
泥土的味道很好闻。我喜欢 rdfz 这一点。
随便转转。绕着中间的花坛走了一圈。
跑到后面的操场待了一下。
看见 @kaka_zheng 来了。祝他好运!
沉思。
时间不多了。进高中楼!
考场在 6 楼。有电梯,不错。
进机房。
为什么挡板还是临时做的!可以透过缝隙看到别人电脑一小部分,如果身体靠后可以看到完整屏幕。希望旁边人诚实考试。
极域的窗口又高挂在上面。看用户,VirtualBox。果然是虚拟机,监管真严啊。
打 dij 和 segtree 板子试机。
放平心态,开始吧。
压缩包的密码是 #Shang4Shan3Ruo6Shui4,这个上善若水属实激动了我好长时间。
开题!number 是贪心+排序,一眼秒了。我居然用 \mathcal O(n\log n) 打这道题,1e6 为什么不 \mathcal O(n) 呢?还是太菜了。用时 15min。
seat 是 N,M \le 10 的超小模拟。写了一下发现样例过不了,原来忘记是蛇形的了,以为一列一列填的。用时 15min。
xor 有些难度。感觉和 MX-J 模拟赛的 melody 神似。然后想 xor 运算的性质,发现包含别的区间的区间没用,左端点一定的区间只有右端点最小的有用。
发现求出可用的区间后可以 \mathcal O(n) dp 求出答案,开始想如何求出可用的区间。
首先前缀 xor 是肯定要做的。观察求完 i 这个位置推进到 i + 1 时,区间 xor 变化量是 a_i,那么直接找到右边 k \oplus a_i 的位置即可。也就是说,对右边开桶即可。
欸等等我不是有前缀 xor 吗,建桶后直接查 k \oplus s_i 的最近的位置即可。桶用 vector + head 模拟 queue 实现,及时排除不合法决策即可。用时 60min。
看 polygon 这道题,有上次 chain 的经历我不想想这道题。看着看着有一个 \mathcal O(n^4) 的 dp,打了调不出来,然后尝试各种不同转移……最后决定打暴力。
出场发现 [hongshixiaobai](https://www.luogu.com.cn/user/922679) 和 [jch123](https://www.luogu.com.cn/user/709433) 都 AK 了。好强!
和 hongshixiaobai 一起出校,去新中关吃饭。
路上边走边聊天。jch123 说 **xor** 的空间问题,等等我开的空间是什么?好像是 $5 \times 10^5$!$2^{20} = 1048576$ 对吧,完了挂 30pts。
### CSP-S 2025
下午回到学校。
仍然在校园里转了转。
回到 2024 年考 S 组的逸夫楼看了一眼。
坐到操场上。看着对面的教学楼。中午操场真的好漂亮!看落叶被风吹过来也很舒服呢。
挣扎着进楼。反正逃不掉的。
进楼前再望了一眼主路。希望我能从这里笑着走出去。
---
同机房选手 [Cuanxing](https://www.luogu.com.cn/user/1174920),[oi_tuanzhang](https://www.luogu.com.cn/user/1132589)。
和曾经在去年坐在相邻的位置上考 J 组的 Cuanxing 相互祝福。
打 segtree 试机。
发题。压缩包密码 `Ren5Jie4Di4Ling5%`。我并不杰出,但是 rdfz 已经很出名了吧。我还有什么用呢?
平复心情,冷静。
来吧。
---
**club** 看起来很签到,但是仔细思考感觉并不简单。
前几年的 problem A 都是基础算法,应该不是 dp。那只有贪心是接近正解的方向了。
选最大的显然不对。考虑一个人 $i$ 进入三个部门的满意度是 $a_{i, 1} \ge a_{i, 2} \ge a_{i, 3}$,那么从 Ta 最想去的部门 $m_{i, 1}$ 换到次想去的部门 $m_{i, 2}$ 的代价是 $a_{i, 1} - a_{i, 2}$。那是不是只要按这个排序,选满后再按 $a_{i, 2} - a_{i, 3}$ 排一次(当时还没有意识到不可能会有两个部门选满且另一个还有人)就行了?
写完发现大样例差 $1$。于是改排序规则的 lambda,加第二关键字。最后发现我将 $a_i$ 排序后没有记原来这个 $a_{i, j}$ 属于哪个部门。
原本以为这个是瞎写的,结果四个大样例竟然都 `diff` 过了!开心。用时 45min。
我在 10.31 时发了一条犇:“祝大家明天 CSP $n^2$ 过百万,暴搜挂成 $100$,贪心猜对结论,骗分不止过样例,$10^9$ 数组不[爆炸](https://www.luogu.com.cn/problem/P9748)$^{\dag}$,SPFA 不被卡”,没想到“贪心猜对结论”一句竟然帮了我自己。
($\dag$:2023 年场上 MLE 此题爆 $0$。)
---
接着是 **road**。我为什么想到了曾经卡住我的 [**road**](https://www.luogu.com.cn/problem/P9749)?有点害怕。
看题,感觉是一个扩展 MST。显然 $1 \sim 4$ 就是普通 MST,接着联想各种做过的 MST 题。城市化改造的点权不能加到边上,因为会重复计算……然后不会写了。
看到 $k \le 10$,觉得肯定有一个 $2^k$ 的枚举。枚举完后可以打 kruskal,因为常数小。然后突然发现排序只需要一遍就行了,如果有的边一端的点没有被选则跳过即可。然后只要打并查集的路径压缩+按秩合并就能做到不带 $\log$ 的复杂度。
于是场上现搓了一个 dsu on tree(因为没有复习),只不过是按 height 合并的。再加上 $\mathcal O(m + kn)$ 但是跑不满的 kruskal,再加上特殊性质 A 以 $\mathcal O(2^k(m+kn)\alpha(n+k))$ 的复杂度(严格来说是 $\mathcal O(2^k(m+k2^{k-1})\alpha(n+\dfrac k 2))$)换下一题,用时 75min。很遗憾当时没有想到只有初始在 MST 里的边才需要保留(之前做过一道类似的题,是保留初始在 MST 里的边后做 Prim),场上的预计得分是 $72$ 加上数据强度分。
---
然后看 **replace**,没有读明白题。因为我不知道子串能否重复替换,然后就连暴力都不会打。
其实我只要仔细读一下样例 #2 就可以发现不存在 $\texttt a \to \texttt b \to \texttt c$ 的替换,那么就可以明白题目。
但是,场上没有如果。于是想性质 B,以为需要 DFS,然后又发现要输出方案数,弃了。
---
最后是 **employ**。
除了 8pts 暴力不会。甚至 $m = n$ 和骗分也没有写。
一会看看 **employ**,一会想想 **replace**,60min 过去了。
---
最后的几十分钟,已经无心想了。
看着屏幕快要哭出来了。
今年甚至连两道题都没有做出来呢。
去年没上 200,今年呢?
我又进步了多少呢?
---
也许,分数并不是那么重要。
我拿了多少分,有人会记得吗?
有人会看到吗?
我拿不到 NOI Au,有大学会看中我吗?
即使 AK IOI,我又能做出什么有用的大事呢?
即使为国家、世界有所贡献,[一个一个千年过去](https://www.bilibili.com/video/av55888297/),谁还会记得我呢?
可笑。竟然在这里为了分数而急哭,真的很可笑。如果知道自己还没有能力,在考试之前努力;事已至此,就享受仅有的时光吧。
我在 **employ.cpp** 的末尾写下了一句话,同时也是我的个性签名:
> [即使诞于沉寂最终消融于颓圮 今天的我仍将继续](https://www.bilibili.com/video/av5306111/)
是的。无论他们如何看我,我都会迎着冷眼与嘲笑,坚定的向前。
这,才是真正的我。
---
十分平静地,看着数字一点一点减少。
三秒。我看见一个又一个的字符飞过,那是梦的碎片,它们旋转着,连在一起,编织成了我的梦。
两秒。面前是一扇门,一条巨大的裂缝将我和门隔开。梦搭在了裂缝上面,成为一座桥。
一秒。我站到了桥上面,向对面走去。
门对面就是我的梦想了。
我已经尽了全力来到这里。而门的另一边,究竟是繁花满地还是一无所有,我并不知道。
[“从梦到梦想,是触手可及的吗?”](https://www.bilibili.com/video/BV1JH4y1w7Ks/)
我迈出了最后一步,来到门前。
倒计时归零。
---
结束吧。
[“与我同在,将这故事画上终结。”](https://www.bilibili.com/video/BV1uP4y1g7c3/)
## 尾声
五天后,门上的锁被打开了。
我走进了那扇门。
$100 + 100 + 0 + 8 = 208$,我看见了那行字。
我猛然跳起,激动地喊了出来。
然后,是沉默。
---
可能我的 **road** 确实冲过去了,成为全年级唯一通过这道题的人;不过,那已经成为往事了。
今天的我,没必要为了以前的成就沾沾自喜,只要做好自己,就足够了。
---
回望这一路,我还想留下点什么。
虽然没有人听我的故事,我要把它记下来。
于是,我写下了这篇游记。