CCF CSP-S 2025 游记

· · 生活·游记

CCF CSP-S 2025 游记

考场上发现 BSZX 似乎更新了键鼠,但好像比去年更加难用了。

第一题,考虑如果一个部门招了超过 \dfrac{n}{2} 人,将多余的人移动到其他部分这个过程中,肯定不可能出现另一个部门的人数也超过 \dfrac{n}{2},原因显然,半小时通过第一题。

考虑第二题,发现应该是要枚举 2^k 次方种情况的,但是如果接着带上 m 的话完全超时了。

接着就开始往贪心的方面想,经过了十多分钟未遂,决定先看第三题。

第三题发现似乎时 ACAM 板子题,只需要将 s_1, s_2 的每一位的字符作为一个对来作为权值插入 Trie 树即可。

接着把长度挂在末端上,然后对于 t1, t2 也是将每一位的字符作为一对继续在 ACAM 上跑匹配,在跑到任意一位时,从当前状态一直跳 fail 链,每一个跳到的状态中的挂的所有长度都是可以替换的方案。

判断每一个长度是否覆盖 t1, t2 是简单的,但是跳 fail 链是超时的。

发现长度是对于不小于一个数 x 的所有长度都可以,而将 fail 指针作为边,空状态节点作为根可以构建出一颗 fail 树,而对于每一个节点的每一个儿子,增加的长度的个数的和为 n,考虑使用主席树维护。

主席树维护是容易的,但是对于一个使用指针实现的 ACAM 和一个使用指针实现的主席树是难以调试的。

好在在 5:50 成功调出。

这时回去思考第二题已经是不可能的,把第三题的 8 分写了,就去写了第二题的 A 性质,期望得分 40 分。

期望总分 100 + 40 + 100 + 8 = 248 分。

感觉考得一般。

考后发现 CCF 未能保住 |t_1| \neq |t_2|,期望得分变为 100 + 40 + 0 + 8 = 148 分,更为完蛋。

接着发现第二题是水题,好的,烂完了。

以完蛋的心态过了 4 天,发现 11 月 5 日晚上爆出可以通过漏洞查分。

难绷的是,CCF 之前可以直接进成绩界面查分,今年似乎修复了,但是没有修复申诉界面查分。

发现第三题有 100 分,不难想到 CCF 似乎没有任何一组 |t_1| \neq |t_2|

甚至有人 |t_1| \neq |t_2| 输出 \texttt{No} 都过了。

以及第二题的 Intel Ultra 9 285K,Intel 产品中目前性能最强的 CPU。

但是关闭睿频。

机房的电脑都能日常稳定 4.2\texttt{GHz},而 Intel 将这一块 CPU 削成了 3.7\texttt{GHz},削成啥了。

导致大部分人都被或多或少的卡掉了点分。

而我的 A 性质拿到了 64 分?

总分为 100 + 64 + 100 + 8,最喜欢 CCF 的一集。

甚至考场代码交在洛谷上都超时了,时限有 2 秒。

怀疑是 Intel Ultra 9 285K 的超大 L3 缓存发力了,以及还有 96\texttt{GB} 大内存的超绝内存访问连续性。

嗯。

挺好的。

可能能在退役之前保住一个 S 组一等奖。