北京建筑大学朱智睿在2025 CCF CCSP竞赛中获得金奖,指导老师为钱丽萍。每年CSP高分考生(200分及以上)均可报名参加CCSP竞赛。第40次CSP认证考试将于12月7日举办,报名正在进行中。CCF不定期邀请CSP高分和CCSP获奖选手分享经验,希望能够帮助同学们取得更大的进步。
非常欢迎更多CSP优秀学子分享自己的宝贵经验,联系:csp@ccf.org.cn
人物介绍
朱智睿
北京建筑大学智能科学与技术学院在读。在第38次CSP认证中获430分,并获得CCSP2025金奖。高中时期取得过CSP-J满分和多次CSP-S一等。此外在ICPC南京、杭州区域赛获金牌,EC-Final获银牌,CCPC哈尔滨区域赛获银牌,多次在XCPC邀请赛中进入前十,也曾在蓝桥杯、百度之星等知名赛事的决赛中获奖。
一、从中学时代开始的算法之路
初识算法竞赛时,我刚进入初中,记得当时还没有CSP-J/S,而NOIP 分为普及组和提高组。第一次参加NOIP普及组初赛时,我只在纸上抄写过老师写在黑板上的代码,甚至没有完成过一次编译,但安徽省的复赛名额以市为单位分发,我所在的又是三线小城市,于是连蒙带猜出的成绩竟足以晋级。受限于当时的水平,我并没有参加那年的复赛,但一颗算法竞赛的种子悄悄生根发芽。
后来,我一步步斩获了在今天已经“绝版”的NOIP普及组奖项、为我带来参与省队选拔的CSP-S一等,以及被视为CCF NOI系列竞赛最高峰的NOI国赛的奖牌。中间插曲不断,先是NOIP添加前置的CSP并更改赛制,后是自主招生变为对竞赛生优惠较少的强基计划,以及疫情带来的诸多不便。
我虽积极克服了这些困难,取得了令自己满意的成绩,但仍成为了高考大军中的一员。大学的XCPC让我重燃了对算法的热情,而在浙江金华举办的CCSP2024的照片中,我看到了几位老熟人:
知名算法竞赛选手“小粉兔”陈亮舟,CCSP2024铜奖第一名
知名算法竞赛选手“方块人”丁文涛,CCSP2024金奖第六名
这些高水平选手的参赛引起了我对CSP的兴趣,我在中学时代就注意到了 CSP-J/S 全称中的“非专业级”几个字,那么作为专业级CSP想必含金量也不亚于它们。因此,我参加了第38次CSP认证并获得了430分,顺利获得CCSP2025参赛资格并获得金奖。
二、赛前准备与赛时决策
赛前一天的晚上,我与网友聚餐时得知,CCSP允许携带无通讯功能的电子设备,而我此前完全不知道这项规定。匆匆结束聚餐后,我买了个U盘并将自己的算法模板和对拍脚本等都放了进去,甚至还临时搭建了一个本地版OEIS(虽然最后并没有用到),手忙脚乱地确认无误后已是深夜,还好从结果来看并没有影响第二天的发挥。
作为每年惯例在CNCC前一天举办的重量级算法竞赛,必定会有像我一样首次参赛的新选手,因此我在这里分享一下自己经验供新选手参考,希望能帮助你们节省时间和精力,以最好的状态参赛。
首先是赛前准备,正如前面所说,可以携带U盘存储电子资料,也可以携带有线耳机避免受到环境影响,以及有线键鼠等其他无通讯功能的电子设备。我的U盘中含有的资料如下:
-各种算法模板,便于在需要时直接使用。
-对拍脚本,虽然CCSP是无惩罚的即时评测赛制,但debug时可能仍需对拍。
-以前写过的算法题的代码,用于参考。
-离线OEIS,在对数列找规律时很好用,有能力的选手还可以写个ODE自动机。
-OI-Wiki的pdf,在github上可以找到相关仓库。
然后是赛时决策,和往年CCSP一样,前三题均为算法题,但可能掺杂一些工程相关的背景,需要抽丝剥茧后得到核心问题并用对应算法解决。我认为这样出题体现了算法并非纸上谈兵的代码,它们能有效解决实际问题,且这些题目能很好地帮助我们算法竞赛选手过渡到实际工作/科研中。在尝试了五个小时后,我顺利通过了前三题。但我注意到排行榜很奇怪,没有选手在第四题得分,第五题有少数选手得分,但分数并非整数。
读完第五题的题面后,我恍然大悟:第五题是一道类似AtCoder Heuristic Contest的“最优化题”,且得分使用了“赋分制”来对每个测试点分开计算,选手根据测试点的人数和自己的方案的优化程度获得相应分数。由于第四题的题面长达十余页,我选择了把剩下的时间都用在第五题上。
对于第五题,我先是写了确定性的优先队列算法依次为每个点分配顺序,虽然在部分测试点上表现不错,但在大多数测试点上的得分远低于预期,于是我开始为它添加各种参数和随机性决策,并一直搜索更优的随机种子,最终这份代码获得了60分,助我拿到了金奖。
三、备赛建议
算法竞赛的高分离不开训练,但大多数高校对算法竞赛的训练资源其实是匮乏的,选手只能通过各种OJ进行训练。
对于入门选手以及期望成绩为CSP200分的选手,推荐在LeetCode中文站刷题并参加他们的周赛。
对于有一定水平,期望成绩为CSP300+分以及想在CCSP中获奖的选手,推荐在洛谷刷题,参加AtCoder的Beginner Contest和洛谷的基础赛。
对于水平较高,期望在CCSP斩获金奖的选手,推荐板刷CodeForces的官方比赛以及gym中的XCPC区域赛,同时参加知名OJ的各类比赛以提高赛时的经验。
希望在阅读这篇文章的你,明年也会出现在CCSP的获奖名单上!
点击“阅读原文”即可报第40次CSP认证。
