重庆理工大学许润峰在第38次CSP认证考试中获得420分,第39次CSP认证考试将于9月21日举办,报名正在进行中。每年CSP高分考生(200分及以上)均可报名参加CCSP竞赛,CCF不定期邀请CSP高分和CCSP获奖选手分享经验,希望能够帮助同学们取得更大的进步。
非常欢迎更多CSP优秀学子分享自己的宝贵经验,联系:csp@ccf.org.cn
我的算法竞赛生涯
我在初中阶段偶然接触到编程兴趣班,随后开始学习信息学竞赛,从此走上了算法竞赛之路。高中期间经过停课集训,我获得了NOIP一等奖和NOI冬令营银牌。不过在省队选拔赛中因失误与省队失之交臂。高中的竞赛经历坚定了我在大学继续学习计算机专业、投身算法竞赛的决心。
NOIP2021获奖证书
进入重庆理工大学后,我有幸在大一上学期便和学长组队参加了ICPC区域赛,由于时间过于紧张,我们的准备不够充分,最终只获得了铜奖,这次经历为后续的训练积累了宝贵的经验。大一下学期,我们组建了新队伍,在校内刻苦训练,持续提升团队协作和算法能力,并积极参加了多场省赛与邀请赛,积累了丰富的实战经验。最终,在大二上学期获得了CCPC区域赛银奖、ICPC区域赛银奖和EC-Final铜奖。
参加ICPC2024南京站合影,左一为许润峰
大二下学期,学院广泛宣传并大力支持CSP认证,鼓励同学们积极参与。在良好的学习氛围影响和学院的支持下,我报名参加了第38次CSP认证。在本次认证中,我顺利发挥出了自己的水平,获得了420分的成绩。这不仅是学习成果的体现,更是对自身算法能力的重要肯定。
CSP认证成绩单
CSP认证试题分析
CSP认证时长为4小时,包含5道题目,每道题目满分100分,题目有部分分,选手提交代码后可立即查看得分。
前两题相对基础,第一题通常为代码量较小的模拟题,不涉及算法知识,重点考察对题意的准确理解与实现能力,第二题可能涉及简单的算法或数学推导,要求选手具有一定的数学基础和逻辑思维能力。
第三题一般是信息量较大的模拟题,需要选手从题干中提取有效信息并建立合理模型,使用简单的数据结构加以实现。这类题目代码量大、细节繁琐,非常考察选手的建模能力和代码调试能力。
而第四题与第五题则更偏向传统算法竞赛,难度明显提升,涵盖高级数据结构、图论、动态规划等内容,要求选手具备较强的算法储备与解题经验。
在第38次CSP认证中,我在大约30分钟的时间顺利通过了前两题,随后我选择暂时跳过第三题,转而攻克第四题,本题是一道动态规划问题,结合以往经验,我很快找到了O(10n)的线性动态规划做法,再依据数据范围,进一步想到使用矩阵乘法优化到O(10^3mlogn)的做法,这两种做法合并后可以通过前三个子任务,但由于一开始遗漏了一种状态转移情况,导致调试耗费了较多时间。
在拿到了第四题的90分后,我返回第三题,通读题意后我发现本题可以使用哈希表来维护代号的几种表示,再通过模拟解码和译码的过程来确定是否是推断结果,首次提交得分为60分,根据未通过的子任务的性质进行调试后,我在第二次提交中得到了100分。
此时距离结束还有1小时,我开始攻克第五题,本题是一道图论题,我首先写了暴力做法得到了子任务1的15分,接下来分析子任务2,当图退化成一条链时,f(i)是成段出现的,可以通过线性扫描完成,顺利获得子任务2的15分,随后分析子任务3,当图退化成树时,和子任务2类似,f(i)是在树上成段出现的,自然想到了对每个询问建立虚树,对虚树上的每条边进行统计的做法,不过由于时间过于紧张未能完成调试,最终以420分收场。
CSP认证备考经验分享
备考 CSP 的过程中,我逐渐摸索出一套适合自己的学习方法和应试策略,归纳下来主要有以下几点:
一、打好算法基础。CSP认证虽然不完全等同于传统算法竞赛,但仍要求选手具备一定的算法储备。建议通过算法竞赛书籍、线上课程、刷题网站系统性学习基本算法,掌握如贪心、二分、搜索、动态规划等基础算法,并尝试将其应用到实际题目中,逐步提高解题套路与模型识别能力。
二、CSP的题目相比传统算法竞赛,更侧重考察选手对题意的理解与代码实现能力。尤其是信息量较大的第三题,往往成为决定性的一道题。因此,平时训练中应重点练习这类复杂模拟题,不断提高自己的建模能力和代码能力。
三、由于CSP采用的是IOI赛制,即使不能写出正解,也可以通过暴力、特判等方法拿到部分分。因此要合理分配时间,可以先提交一个暴力做法确保拿到基础分,再逐步优化算法进而拿到更高的分数。同时,由于提交不存在惩罚机制,我们可以积极提交,充分利用提交反馈的信息进行调试。
最后,建议在考试前进行全真模拟训练,尽量还原考试环境,并根据自身情况设定每道题的预期分数,规划做题顺序与时间分配,从而逐步建立清晰的做题节奏与心理预期,保持冷静的心态,提升临场应对能力。
结语
回首这几年的算法竞赛生涯,我深感庆幸自己选择了这条充满挑战与成长的道路。作为一名算法竞赛选手,我不仅收获了扎实的算法基础和编程能力,更培养了独立思考、团队协作与临场应变的综合素质。竞赛带来的不仅有奖牌和成绩,还有思维方式的转变与视野的拓展。
非常感谢CCF给我这次机会让我分享自己的竞赛生涯和备考经验,感谢重庆理工大学计算机科学与工程学院对CSP认证的高度重视与大力支持,最后祝CSP和CCSP越办越好,祝各位选手发挥出自己的最佳水平,取得优异的成绩。
点击“阅读原文”即可报名。