2026 CCPC 全国邀请赛(南昌)暨第三届江西省赛游记

· · 生活·游记

比赛地点:江西省南昌市南昌大学前湖校区。
比赛时间(正赛):2026/5/24 9:30~14:30,共 5 h。
队友:@Debug618
@Snoozing_QwQ

榜单

回忆可能与真实情况有些许出入,但应该差不了太多。

总评:三个唐币凑一块儿了。

Day-1 (2025/5/23)

下午在上竞赛课,晚上在打 ABC,没去热身赛,血亏 15 元。
晚上才想起来模板还没打印,但转念一想都 10 点多了,打印店也该关门了,就没去打印。

Day 0.01 (2025/5/24 6:45)

六点多一大早就醒了(肯定不是忘记关闹钟了),白天想着咱们三中只有我会网络流,他们大概不会打印模板,可我自己也不会背代码,只好出门找打印店打印(结果正赛模板一个都没用上)。

Day 0.5 (2025/5/24 8:??)

因为我不是纯血的,而且我家就在江对面,就没坐校车去考场。刚走到学校门口,就听到 Snoozing_QwQ 在说:只有你和 XXX 没穿校服,可我也没有校服啊!进了学校后,去领了衣服、小玩意和袋子。拍照时教练不见了,所以我们自己拍完就去了考场。
在门口等了一会儿就放我们进去了。本来以为早进考场能早打代码,结果进去发现屏幕是锁屏状态(我提议出去玩 PHI),时不时弹出 "Have Fun & Good Luck" 的同时,话筒里还会突然传出不明声音,吓人一跳。Snoozing 来野餐了,带了一堆零食,还被教练打劫走一包。
打 CCPC 是一定要品鉴队名的,在周围看了一圈,大多都挺正经的,就一队叫“旮旯给木领域大蛇”,还有一队叫“别冲桥了,桥上我们教练用乌鲁鲁拿着 SR25”。

赛后扒出来的其他相对逆天的队名:

:::epigraph[Debug618(赛后)] 果然审核也爱看。 :::

Day 1 (2025/5/24 8:??)

前面其实全是废话。(叙事非线性)

因为我 ABC 天天倒开,所以前面的题目肯定不是我去写的。比赛开始后,我先从 F 开始看,第一眼扫过去:

前面 30 分钟我基本都在读题,他们看了榜先把 G 给做了。于是我先去想了 H,一开始想的是状压 DP,但 O(2^n \times n) \approx 10^9 有点炸,就果断跳题了。

K 题可以说是这场比赛我打得最战犯的一道题。一开始想的是先用并查集维护若干个颜色块,然后考虑每只狗被击杀后能让哪些点解放,再去维护新的连通性,时间复杂度疑似 O(n^2 \times m^2 \times 𝛼(n \times m)),有亿点点炸。(其实到这里还没有很战犯)

自从我们完成了三道题之后,就一直卡在第三道。我当时觉得 K 不可行,于是就往前看,E 是交互题,不会,然后看了看 D,发现是个简单的构造,就去跟 Debug618 交流,他也觉得是这么做的。起初是他写的代码,但我没看懂他写了个啥,而且没过样例,于是就改成我来写。可因为我纯唐,没看到要求第一项一定是 1、最后一项一定是 n,白白吃了一发罚时,好在最后还是过了。

Debug618 和我讨论 H 题怎么优化,我一开始也以为是状压 DP,一直在想怎么优化转移过程,但发现不管怎么优化,要么 M 炸,要么 T 掉。想来想去,我打算从最原始的 DFS 暴力入手去优化,结果神奇地发现,最原始的 DFS 反而是效率最快的。

Debug618 写 J 的时候,我就跟 Snoozing 讲了讲 K 题(这时我已经分析出来时间之和是 O(nm) 最优)。他说这题,非常简单!然后,然后就从 12 点调到了 1 点半。他说只要简单的搜索就能过,然后就 WA 了。调了半天最后问我哪里错了,我一看:没有处理复活的点并不连续的情况。其实这个时候我就应该去接手的,毕竟他连这个都没考虑到,但转念一想,平时模拟赛 Snoozing 太强了,我非常信任他,所以还是让他继续写。然后,他就写出了一份神秘的记忆化搜索代码,然后,就没有然后了,因为我看不懂他的代码。

经过了漫长的 K 题调教之后,我们决定“放弃”K 题,让 Debug618 写 J 题,K 题让 Snoozing 用小窗口继续看。因为我觉得 J 是数学,所以并没有参与他们的讨论。

小插曲:中途出去上了趟厕所,回来的时候发现走的那扇小门打不开,等我从正门进去之后,发现小门居然是开的。

等到 J 题调出来之后,我们彻底放弃了 K 题,转向 M 和 I。M 题是阅读理解,一开始被那个式子吓死了,没敢碰,结果一回头看到一片绿色气球里就只有我们一个黄色气球。

我分析了一下:截止到一个小时前,AU 的队伍里只有 2 支是 6 题,其他都是 7 题,因为还剩下一个小时,我推测赛后 AU 一定需要 7+ 题,但我们是罚时大王,所以想要 AU 就一定要 8 题。于是我就提出:“抛开事实不谈,过题数是第一关键字,罚时是第二关键字。”(用“关键字”是因为我犯唐问了句 pair 排序是不是按照第一关键字)

I 题我依旧犯唐,神秘代码:

string result = "";
for(int i = 0; i < n; i++) {
    result += "";
}
XXX
XXX
XXX
cout << result << endl;

导致一直输出空串,后来才发现写的是 result += "";,但改成别的还是错的。后来又发现了一个错误,只剩最后 50 多秒,写完就直接交了,也不出意外地 WA 了(至少没有 CE)。

最后 I、M、K 一道题也没过,止步于 6 题(Fun fact:我们 5 题的时候,学校另一队只有 3 题;等他们 5 题的时候,我们也还是 5 题)。

Day1.5

赛后我才发现自己的 K 题思路是对的,另一队想的是神秘可持久化并查集。
教练说发的券可以买奶茶,于是我们就一起去买奶茶了(血亏 15 元)。

赛后总结

XX K 题,我们明明有 I + K + M 的潜力,结果却是 I + K + M 全部挂掉,万恶的 K 题!!!!!!

难度评级:H、D 黄;K、I 蓝

-The$$ $$end-