CCPC 2024 JN 打铁记

和 k_Sword 和 NAPeach 组队(QEFW_#kzn a.k.a. 企鹅访问坤)参加了 CCPC 2024 济南站,2AC 273 罚时,取得了 rk 313 / 323 的好成绩,成功打铁

菜是原罪 QwQ

Day $x\ (x < 0)$

很早就发出的通知了,本来因为我太菜,不想参加的

QDEZ 运动会的前两天,我在走廊上遇见了 k_Sword 和 NAPeach,问我是否参加 CCPC,队名是 QEFW_#kzn(原来成员是 k_Sword, zzetheld, NAPeach,所以叫 #kzn,但是 zzethld 不去,于是拉我去),于是我立刻答应了

中文队名是在紧急的情况下 NAPeach 随便打的

听说 XCPC 系列比赛可以带纸质资料,打印了很多没用的东西,最后似乎只有大质数表用上了

Day 1

少女 CSP 中…

晚上 CSP-S 结束后乘火车去济南,其中在去车站的路上把晚饭的粥洒了,耽误了一些时间

火车上 NAPeach 在相邻车厢,路上一半时间在看 NAPeach 打东方(我是 STG 苦手 QWQ),一半时间在多多理财 和我在 QDEZ 研学路上的一样

23:30 左右到达,和 k_Sword 拼房

Day 2

早上起的比较晚,发现 NAPeach 已经快到了

8:10 左右到达比赛场地,快速进行了签到。有袋子鼠标垫等纪念品,这不比 ¥560 的 CSP-S 强?

发现到太早了,zhub710 还没到,等到再次出去时,已经拍完照了,完美错过 QDEZ 拍照

8:45 开始进场。比赛电脑很好,是 Ubuntu 22.04,包含 Code::Blocks 和 VSCode 等 IDE,好评。

9:00 比赛正式开始,分工是 k_Sword 看 A-D,我 E-I,NAPeach J-M。

k_Sword 迅速发现 A 是签到题,20min 写了暴力 Hash,在喜提 3 发罚时后 AC,签到成功

我发现 F 似乎是组合数,感觉可做,写完后发现没过样例,手模发现思路假了,贡献我的第一个错解

NAPeach 发现 J 是签到题,于 11:53 一发 AC,这是我们本场第二个也是最后一个 AC 🤣

k_Sword 发现 B 似乎是大模拟,开始写 B 题,但是最终也没有写出

距离比赛结束大概还有一个小时左右,我想到了一种 I 题的构造方法(I 是构造题),经过讨论和 Hack,没有发现问题,遂写完。交一发, TLE。检查发现在递归中开 vector ,添加 reserve 和关流同步,然后 WA 了。检查发现没有写挂,释怀地似了。错解++

我们注意到 Python 自带 FFT 大整数,k_Sword 和 NAPeach 遂开始写 E,实际上是 k_Sword 简述思路,NAPeach 写 Python 代码。但是其分讨极其复杂,在贡献了 5 发罚时之后,最终仍没有写出来。

喜提 rk 313 QwQ 🙃

我似乎是全队最菜的啊,一个正解都没有贡献出来 QwQ

讲评 & 题解

A, J 确实是 Very Easy,B, I 是 Easy,E, F 是 Easy-mid 说明我们的开题策略没问题

B 是搜,k_Sword 没写递归,可能导致码量增大

I 我的思路和正解已经比较接近了,但是没有考虑根的选择对答案的影响

E 分讨有 7 种情况,k_Sword 和 NAPeach 只考虑了 6 种(但是实际上场切的人只有 48,还是比较恶心的)

F 正解就是枚举,NAPeach 已经想到了,但是我认为复杂度不对(实际上是对的,证明似乎比较繁琐)。NAPeach 注意力太强了 %%%

总结 & 反思

  • 团队合作不足

    k_Sword: 我们中任何一个人单独写都不能只切两道题

  • 做题策略有误。实际上我们几乎是三人开三题,每人分别想自己的题,没有花时间帮助队友验证和改进思路,导致我们写了很多假正解,浪费了宝贵的电脑使用时间
  • 电脑使用策略有误。实际上从 A 题之后,可能由于上述原因,我们每人都没有十足的把握,往往是在轮流使用电脑。特别是在最后一小时,k_Sword 和 NAPeach 在写 E,而我在写 I(实际上我几乎没有仔细分析 E 的各种情况),往往是我修改代码,测试发现不过之后就将电脑交给他们,之后再次轮换。这样看上去没问题,实际上则导致思路经常被打断,也不利于 Debug
  • 菜是原罪

总之这次 CCPC 虽然打了铁,但是总体上还是很欢乐的。在比赛中看到了自己的不足,也算是有所收获,希望能给未来参加 XCPC 积累一点经验吧(话说我未来还要打 XCPC 吗? QwQ)