188体育app官网_188体育投注

返回首页
您的位置:首页 > 新闻 > 188体育app官网:

CSP高分说 | 哈尔滨工业大学杨一凡:我的算法竞赛历程和CSP认证备考建议

阅读量:0 2025-05-15 收藏本文

哈尔滨工业大学杨一凡在第37次CSP认证考试中获得470分,第38次CSP认证考试将于6月8日举办,报名正在进行中。每年CSP高分考生(200分及以上)均可报名参加CCSP竞赛,CCF不定期邀请CSP高分和CCSP获奖选手分享经验,希望能够帮助同学们取得更大的进步。



图片

非常欢迎更多CSP优秀学子分享自己的宝贵经验,联系:csp@ccf.org.cn



我的算法竞赛历程


我的算法竞赛生涯要从初中说起。当时刚入初中,我听说了校内程序设计竞赛选拔报名,以为是类似scratch编程设计的比赛,就报名参加了,结果试卷上都是“树”“图”的字眼,我当时看不懂。但我也因此对算法竞赛产生了兴趣,开始了我的算法竞赛之旅。我在初二时获得了NOIP普及组一等奖,到了初三,我全力冲刺NOIP提高组和省选。此时,我认识到自身与顶尖选手之间的实力差距,省队名额也是遥不可及。


高一时,CCF推出了CSP-J/S认证,我取得了相对不错的成绩,获得了去WC的机会。由于国家对竞赛的政策改变,强基计划推出,自主招生取消,我经过一番考虑后决定离开竞赛,回到高考。由于2019年新冠疫情暴发,我也放弃了参加WC的机会,CSP-J/S成为我高中竞赛生涯的最后一舞。


虽然离开了竞赛,但我对算法的热爱不减。我在空闲时间依旧继续学习算法知识,参加了NOI Online等赛事,每年的CSP-S和NOIP依旧参与。


图片

初中/高中获奖记录,马赛克部分为同名非本人信息


进入大学,我进入了学校ACM校队,我获得了算法竞赛的二次生命。我在大一获得了ICPC香港站的银牌,大二和厉害的队友一起在EC Final夺金出线,入围World Finals,一定程度上弥补了高中时的缺憾。我在大三下了解到CSP认证,并报名了第37次CSP认证,获得了470分的成绩。


图片

World Finals队伍合照(左一)



第37次CSP认证个人经历


赛前我在CSP模拟考试系统上选择了一套往届试题练手,了解了题型和考法,为这次CSP认证做好准备。


这次CSP认证开始后,我先解决第一题和第二题。第一题是全套题目中最简单的,掌握基本的语法即可通过,这次的第一题仅需要输入输出、循环语句和简单的数学计算。第二题是一个背包问题,当然也可以建拓扑图走最长路径解决。


出于我对往届题目的理解,第三题对算法的要求不高,但是需要一定的代码能力和足够的细心;而第四题需要一些算法知识,对代码能力的要求有时没有第三题高。


我选择先做第四题。第四题需要利用最大公约数的性质。我写了一个复杂度略大但是实际运行远到不了上界的做法,通过了第四题。接着我开始做第三题,第三题有很多细节问题,我通过几次调错后我也顺利地通过第三题。


第五题对数据结构和代码能力的要求很高。根据题目的要求,所有的信息都指向了动态树这一数据结构,相比于基础的链上操作,这道题还需要维护子树信息。我在维护信息的时候遇到了一些难题,之后先用基础的树上动态规划方法做了30分的数据点。距离比赛结束还有约40分钟时,我发现我的方法在动态树的换根操作时会出错,一时间没有想到怎么处理,于是我将不涉及换根的操作进行了修改,获得了70分。我觉得470分也是一个比较满意的成绩,于是就提前交卷。之后我在收拾东西的时候意识到我可以处理信息的方式上再加一笔,就可以处理换根的情况,还是有点可惜。


纵观整场,赛场上策略十分重要。题目的难度和考察的内容有章可循,可以按照个人的技术特点对做题的顺序进行调整,对于困难的题目可以先尝试部分分。



备考建议


CSP认证类似IOI赛制,每道题可以有多次提交,赛时即时反馈题目得分,有部分分,对于对自己代码细节把握不好的同学利好。CSP认证的题目对思维能力的考察不多,更多的是代码能力方面。


对于有丰富OI或者ACM/ICPC经验的选手,可以尝试冲刺高分。第一题、第二题比较基础,第三题涉及到代码能力,第四题涉及到算法知识,可以根据自身的能力特点进行补强,也可以考虑赛时的做题顺序。第五题可能会涉及到比较难的算法或数据结构,对代码能力的要求也很高,对于高水平的选手也不容易做出(例如此次的动态树)。但是第五题的部分分很多,可以充分利用剩余的时间将小数据的分数和有特殊性质的分数拿到手。


对于算法竞赛基础薄弱的同学,先要保证语法的熟练度,保证自己的想法能够通过代码实现,这样足以对付前两题,对第三题这种需要代码能力的题目也十分重要。不必学习难度很高的算法,需要对基础的算法足够理解并且能够实现、拓展。这类算法包括二分、动态规划、基础数论、最短路、最小生成树、字符串哈希等。这些算法可以处理很多任务,会在第四题考察。对于难度最高的第五题,拿满分是十分困难的,但是部分分依旧有机会用上述提到的基础算法解决,这对代码能力也是很有要求的。



结语


感谢CCF对算法竞赛的长期支持。祝CSP认证越办越好,为选手展示算法的魅力,为计算机教育的发展作出更大的贡献。