山东大学张丁祎在第30次CSP认证考试中取得480分的好成绩,并列全国第二。每年CSP高分考生(200分及以上)均可报名参加CCSP竞赛,CCF不定期邀请CSP高分和CCSP获奖选手分享经验,希望能够帮助同学们取得更大的进步。
五年竞赛路
我高中就读于衡水第一中学,高一入学前在吕红波、于淼两位教练的指导下第一次接触算法竞赛并产生了浓厚的兴趣,在之后的两年中我一直努力在学习知识、刷题和比赛中提高我的代码能力和竞赛水平,最终在2019年的CSP-S中取得了378分的成绩,在河北省省队选拔中取得了全省第九名,不过由于弱校保护政策和省队三分之一限制最终遗憾告别信息学竞赛,无缘NOI。
进入到大学之后,得益于我的母校山东大学对CSP比赛的重视,以及刘辉老师和王政老师的支持,我在入学后第10天的第23次CSP认证中取得了460分,并在之后的CCSP华东赛区获得了金奖,这两次比赛对我来说不仅仅是取得了较好的成绩,更是加强了自信心,鼓励我继续向前,最终在第30次CSP认证中取得了480分并列全国第二的成绩。除了CCF系列竞赛之外,我和另外两个同学组队获得了ICPC区域赛的两枚金牌和EC-Final的银牌。
张丁祎(左二)在EC-Final比赛现场
如何备考CSP
CSP的题目一般来说比较有规律可循,第三题为大模拟,要求实现一个在现实中存在的复杂系统,比如压缩文件的解压缩、LDAP系统,此类题目题面一般比较长,在读题时一定要有耐心,切忌只读大意,忽略题目的重要信息。在读懂题目之后,便可以按照题目的要求一步一步完成模拟了,一般不会涉及到比较高级的算法和数据结构。一二四五题通常难度递增,第一二题主要考察思维能力和代码能力,四五题的考察范围包括动态规划、数据结构、图论,且实现起来比较复杂,以第30次CSP认证第五题为例,我用到了状压dp,需要开三维的dp数组,前后一共有两次状态转移和两次子集转移。CSP的往届题目可以在报名网站的模拟考试中找到,写好的题目也可以在这里提交评测,大家在掌握基础之后之后,可以在这个平台以考代练,逐步提高竞赛水平和CSP认证分数。
CSP的一个特点便是所有题目都有梯度明显且分值较高的部分分,如果不能写出正解,可以退而求其次,使用复杂度相对较高的算法获得部分分;另外,有一些部分分的设计还会起到启发正解的作用。CSP的另一个特点便是类似IOI的在线评测系统,我们在提交题目之后便会得到具体分数以及错误类型的反馈,这对之后的纠错和调试有很大帮助。
CSP和CCSP竞赛使用的是Ubuntu操作系统,建议大家提前熟悉环境,找到适合自己的编辑器,我在比赛中一般使用vscode,在配置好编译环境后便可以像Windows下的Dev-C++一样一键编译运行了。
张丁祎第30次CSP认证分数
写在最后
五年竞赛路,感谢CCF提供的比赛机会,感谢这一路上各位老师教练的教导,感谢HZOI各位同学和ACM队友。在此,祝CSP系列竞赛的知名度越来越高,越来越成功,成为中国大学生各种各样竞赛中的清流和顶流!