华南师范大学严雍泽在第33次CSP认证考试中获得满分,第34次CSP认证考试将于6月2日举办,报名正在进行中。每年CSP高分考生(200分及以上)均可报名参加CCSP竞赛,CCF不定期邀请CSP高分和CCSP获奖选手分享经验,希望能够帮助同学们取得更大的进步。
非常欢迎更多CSP优秀学子分享自己的宝贵经验,联系:csp@ccf.org.cn
初识算竞
大学刚开始时,我就听说了算法竞赛,并被这类比赛的赛制深深吸引住了。在这种情况下,我开始学习C++语法和一些基础的数据结构和算法。由于我大学前没有接触过编程,所以我的进度比较慢。相比那些在高中甚至初中就接触过相关知识的同学,我意识到了和他们的差距。
后来在大一的第二个学期,我们学校组织了CSP认证考试的统一报名,但是当时我水平有限,不太敢去报名,我打算等到大二水平提高了再报名参加考试。回想起来,其实完全没有必要这样做,因为大学里机会非常有限,很快就错过了。接着,在同年的4月,我们学校举办了一年一度的程序设计算法竞赛校赛。那时候我没有队友,就拉上了同班的两个同学一起参加比赛。比赛即将结束时,我们仍在调试一道题。最终,总算在结束前几分钟这样通过了那道题,我到现在还记得看到屏幕显示“Correct”字样时和队友击掌的兴奋。
后来,或许是出于校赛难忘的经历,又或许是出于对算法竞赛的热爱,我继续将我的时间和精力投入到其中。随着我水平的不断提高,我和两位学长组成的队伍迎来了我们队的第一次ICPC之旅——合肥。然而,很遗憾的是,我们打铁了。
2023ICPC合肥站现场图片
在意识到自己的不足后,我更加努力地投入到日常训练中。这段时间里,我的Codeforces Rating也在不断增加。不久之后,学校发布了第33次CSP认证的报名通知。怀着第一次参加CSP认证也很可能是大学期间唯一一次参加的心态,我报名参加了认证,并且非常幸运地在这次认证中取得了满分的500分成绩。这个成绩给了我巨大的信心,让我可以更加坚定地投入到下一个赛季的准备中。
第33次CSP认证考试成绩单截图
如何备考CSP
CSP认证由5道题构成,每道题满分100分,总分500分,每题通过部分测试点即可获得部分分,每题限制大概是30多次提交,取最高分。
前两题一般考察基础的代码能力,不涉及很复杂的算法,如果熟练运用STL,写得会很轻松。通常要争取在半小时内完成前两题,为后面的题目留够时间。第三题一般是一道大模拟,它是考生分数的分水岭,不仅题面长达1~2页PDF,码量也比较大,非常考验考生的代码功底。在紧张的考试环境下,想要完全理解题意并完美实现拿到第三题的满分,对大部分人比较困难。
第33次CSP认证的第三题是一道背景为“化学方程式配平+线性代数高斯消元”的题,考生需要模拟高斯消元的步骤,并最终求出矩阵的秩。
第四题和第五题就需要对一些竞赛常用的算法有所了解,才有可能解答出来。这些考点包括但不限于:数据结构、图论、DP等。然而,如果只打算争取获得20~50分的话,并不需要完全掌握这些算法,只需要掌握一些常见的优化方法,并且对于数据量较小的部分能够熟练运用STL来解决问题就可以了。
对于日常练习的话,可以去官方的模拟考试里找一些真题来做。如果追求更高的分数,可以去专门找一些算法竞赛的题来做,并学习一些常见常考的算法,这将有助于提升算法能力和解题技巧。
模拟考试(https://cspro.org/)网址
同时,我们要善于利用考试机制,即允许多次提交并即时反馈得分。我记得我当时最后一题一开始交上去的代码返回内存超限,后面我通过多次提交确定了问题所在,对代码略作修改后提交才通过了那题。这个机制给了我纠正错误和提高代码的机会,对于克服挑战非常有帮助。
结语
非常感谢CCF能给我这个分享经历与感悟的机会,同时,我也要衷心感谢CCF组织这样一个公平规范的认证考试。我真诚地祝愿CSP越办越好,为推动中国计算机教育的发展做出更大的贡献。