【我与CSP】人大杨铭基:CCSP助我走上科研路
2022 CCF CCSP全国赛将于12月7~8日在贵阳举办,上周报名通道已开启,目前报名火热进行中。近期,我们将邀请部分往期CCSP获奖同学分享竞赛经验,希望这些分享文章,能够帮助更多的同学提升竞赛能力,取得更大的进步。本期推出的杨铭基就读于中国人民大学。中国人民大学作为CCF CSP认证点高校,是CSP认证优秀单位。
非常欢迎更多CSP优秀学子分享自己的宝贵经验,联系:csp@ccf.org.cn
相识算法竞赛与CCF
在步入高中选择竞赛科目时,我初次接触到信息学竞赛,那时是我第一次了解算法竞赛,也是我第一次与CCF相识。从小便对计算机感兴趣的我果断投入到了信息学竞赛的学习中,高一高二的绝大部分时间我都在机房里拼命地刷题,现在回想起来那也是我人生中最难得的一段努力拼搏的时光。经过两年的训练,高二时我获得了NOIP提高组一等奖与NOI D类银牌,这些成绩帮助我最终进入了中国人民大学信息学院。我十分感谢母校给了我参加竞赛的机会,也特别感谢张超教练对我的用心培养。
高中参加信息学竞赛的经历培养了我对计算机科学的浓厚兴趣,为将来本科的专业学习和研究生阶段的科研工作打下了良好基础。由CCF主办的NOI系列赛事为我们提供了很好的竞赛平台,让我们能够与全国的高手们同台竞技、在赛场上展现自己数年努力的成果,也让我们有动力把青春献给困难的算法竞赛。在竞赛训练中,我愈发对知识感到敬畏,赞叹于算法理论的高深莫测,崇拜于高手们敏捷的思维与丰富的解题经验。同时,我也更加相信天道酬勤,静心与勤奋是学习与研究中最重要的品质。
重逢于CSP与CCSP
本科阶段,我在中国人民大学信息学院学习计算机科学与技术专业。其实最初我并没有关注CSP与CCSP赛事,而是在课业之余参加了ICPC竞赛,凭借高中的竞赛经验获得了两次亚洲东大陆区域赛金奖、三次亚洲东大陆赛区总决赛银奖。直到大三时,我才详细了解了CSP与CCSP,其中前者对我来说相对传统一些,但后者的赛制和考察内容则是非常地新颖,于是我便有了尝试参加的想法。经过两次尝试,我在CSP中顺利获得了满分,并赴深圳参加了2021年的CCSP竞赛全国赛,有幸获得了金奖。因为这些成绩,我还获得了2021年的CCF优秀大学生奖,这是CCF对我的一次高度肯定。这些成绩还帮助我进入了中国人民大学高瓴人工智能学院,引领我走上了科研道路。
2021CCF优秀大学生奖证书
参加CSP与CCSP让我重新体验了高中参加信息学竞赛的那种乐趣,时隔多年一个人在赛场上与几道算法题缠斗的那种紧张感让我很享受。尤其是CCSP,这个比赛的赛制非常有意思,比赛时间长达12小时的编程竞赛像是一场考验耐力的“马拉松”, 赛场上公开的榜单瞬息万变,比赛中考察计算机系统的题目也是传统算法竞赛中没有的,同时题目还提供了海量的阅读资料,所有这些对我来说都是一场前所未有的大考验。说实话,我这次能够获得CCSP金奖的运气成分很大。但不管怎么说,参加CCSP让我收获了很多,备考的过程中我复习了许多专业课上学过的系统知识,比赛的题目也让我体会到了这些专业知识的应用场景,并让我现场深入思考如何进行系统优化。
在个人备考方面,由于我对传统竞赛比较熟悉,对于CSP我并没有特别做准备,不过还是整理了相关的算法资料、编程模板等纸质材料,并提前了解了比赛赛制和比赛环境。而CCSP对我来说则未知数较大,我花了大量时间回顾专业课上学过的相关知识,也浏览了往年的真题。因为CCSP允许携带纸质和电子的资料,收集和整理相关资料也是必须的,这一步我特意找了往届参加竞赛的同学寻求资料。由于比赛赛制的特殊性,我也提前熟悉了比赛形式,大致制定了比赛策略并做好了面对赛场上各种情况的心理准备。CCSP竞赛也十分考验选手在赛场上的规划与发挥,我在赛场上也做到了及时调整自己的状态和做题策略,将12小时的时间充分利用了起来,顺利发挥出了自己的正常水平。
CSP认证中国人民大学考试现场
备考建议
对备考CSP与CCSP而言,其实最关键的还是大家平时对算法和程序设计能力的积累,这方面参加过OI或者ICPC等算法竞赛的同学会有明显的优势。但没有参加过的同学也不用灰心,根据我的观察,其实在赛场上只要稳扎稳打把基础的“暴力分”拿到,最终成绩都不会差。而CCSP还额外需要计算机系统设计的专业知识,这一点更是需要大家有过硬的专业知识,认真学习专业课打好基础,万万不可结课了就把知识抛掉了。
具体来说,CSP考察的全都是算法题,主要考察大家的算法和编程功底以及把实际问题抽象化的能力。由于考试的题目都是有部分分的,后三题大家不必强求满分,按照自己的能力优先考虑拿好拿的部分分即可。尤其是对没有学过相关算法的同学而言,在考场上现场想后两题的高分算法很可能是徒劳无功的,远不如写部分分来得划算。对于缺乏算法竞赛经验的同学,我推荐考前突击二分答案和动态规划这两个内容。
2021CCSP全国赛深圳大学现场
以我的了解,近几年CSP的出题风格应该比较固定,考试总共有5道题,其中前2道题是相对很基础的算法题,解题思路会比较直接,代码量也小,所有同学都应该力争首先能拿下这两题。第3道题的题目会很长,一般是有实际背景的大模拟题,需要静下心来阅读题目,提取和整理各种细节。这题很容易出错,主要考验的是耐心和细心,但是在想好如何实现并梳理好思路后也并不会很困难,基本上照着题目描述实现即可。力不从心的同学也可以只实现部分分,或者直接跳过先做后面的题,切忌死磕第3题而耗费了太多时间。第4题和第5题一般会用到一些较为高级的算法知识,其中第4题相对轻巧一些,学过相关算法的同学一般能很快看出大致解法,而第5题则更抽象一些,信息量也更大,解法可能并不明显。这两题想拿高分需要比较扎实的算法竞赛功底。
至于CCSP则是兼具算法题和系统设计题,题目难度都会比较大,尤其是系统优化题很可能是开放性的题目。算法题同样不用强求满分,优先拿部分分;系统优化题可以先尝试一些经典的看似比较粗暴的方法,或许能意外地获得比较好的效果。值得一提的是,比赛中可能会有题目附有相当多的英文论文作为参考资料,这时一定要有对题目整体的把握,盲目地去读资料可能会浪费大量的时间。
我个人认为CCSP中的考场发挥至关重要,考前一定要做好策略和心理上的准备,保证充足的休息。考场上则要保持良好的身体和精神状态,视情况决定吃不吃饭、睡不睡午觉等,如果觉得思维混乱,一定要及时想办法调整状态。12个小时的比赛时间说长也长,说短也短,实际上我最后的时间是不够用的。在考场上一时受挫不必惊慌,要保持沉着冷静;但也要把握好时间,不要在一道题目上耗费太多时间,尤其是不要浪费时间在不加思考地阅读资料上。
另外赛场上还有一些战略上的小技巧,例如,由于CSP和CCSP都能实时得知提交结果,在赛场中先拿到部分分并相应调整做题策略非常重要;同时比赛中提交次数比较充足且多次提交基本没有什么影响,在赛场上可以“放纵”一些大胆提交,或许可以省下不少检查代码和测试的时间。实际上在算法竞赛中能这样大胆提交的机会是绝无仅有的,可以把握难得的机会去体验一下。
未来展望
如今的我刚刚在中国人民大学高瓴人工智能学院踏上科研的道路,相信曾经的算法竞赛经历能成为我研究中一笔宝贵的财富,也期待未来在学术方面更多地与CCF相遇!
备考资料
报名通道
关于CSP和CCSP
CSP注重考查计算机算法、编程等基础能力,正逐步成为业内评测软件能力的基本标准。目前CCF已在全国授权设立了178个CSP认证点,至今已有181857人次参加了CSP认证。在CSP的基础上,CCF于2016年创立了面向大学生的年度竞赛CCSP(大学生计算机系统与程序设计竞赛),至今已成功举办6次,参加CCSP的选手均为CSP成绩优秀者,CCSP更注重考查计算机系统能力,选拔的是顶尖人才。