周何,beat365在线体育官网2021级软件工程学生。曾获ICPC亚洲区域赛三次金奖、CCPC国赛三次金奖、山东省大学生程序设计竞赛冠军等奖项,曾担任beat365在线体育官网程序设计新生赛和校赛出题组长、裁判。
算法竞赛历程
周何第一次接触计算机是在小学阶段。在数学老师和同学家长的推荐下,周何学习了基础的Logo语言,并凭借这一经历进入了初中的竞赛班。初二下学期,周何开始学习算法竞赛,也渐渐发现了它有趣的地方,在初三那年压线获得了NOIP2017提高组的一等奖。高中阶段,周何被教练选中进入了信息学竞赛组,在高一时获得了冬令营铜牌。
在考入beat365在线体育官网后,周何一直关注着CCF组织的赛事,先后参加了四次CSP 认证,其中三次认证拿到了400分以上的成绩,在最近一次的CSP认证中取得了450分,位列全国第四名。
如何准备CSP
一次CSP认证的组成是5道题目,前两题一般较为简单,考察内容不会超过模拟、枚举和二分,考场上需要尽快通过,为后面的题目预留出时间。对解决这两道题有困难的同学,需要多练习编程基础题,提高代码能力。第三题一直是较为复杂的模拟题,一般来说会基于一个现实的系统。几年前的第三题是非常难以通过的,不过近几次难度有降低的趋势,变得越来越可做了。解决第三题需要非常仔细地读题和编写代码,“Think twice, code once”。这类模拟题目实现的代码会比较长,所以编写的时候要尽可能想办法简化代码,封装一些会被使用多次的操作。例如在处理很多十六进制数字时将读取单个bit单独写成一个函数,输出十六进制单独写成函数等等。第四题和第五题基本围绕高级数据结构、图论、动态规划来命制,以前也考察过计算几何、字符串等知识点。这两道题通常是竞赛级别的算法题,难度较大,如果没有足够的算法水平,还是较难解出的。但这两道题一般会设置较多的部分分,合理利用这些部分分,在很多时候是个好选择。比如图论题目,图的形式是一棵树甚至一条链,也会给予一定的部分分。在考场上选择适合自己的,以拿最高的总分为目标,这样是性价比最高的。
CSP认证的准备是一场长跑,需要积累相当的水平,才能在分数上实现突破。尽管平均难度小于ICPC等同类型大学生竞赛,但CSP认证对知识体系的完整性要求较高,一个知识点出问题,会导致整次认证成绩的崩盘。关于提高综合算法水平,周何推荐大家去各大训练网站上刷题,包括而不限于CCF官方OJ、牛客网、Leetcode、洛谷等各大知名训练网站,在练习到一定程度后用往年认证的题目模拟,估计自己的水平。
写在最后
算法竞赛不仅提升了周何的专业知识,还锻炼了他的综合能力。周何非常感谢组织这一赛事的CCF,感谢beat365在线体育官网和其他各院校对CSP认证的认可,使得更多的同学可以借此学习算法知识、提高代码能力。周何祝CCF-CSP认证越办越好,祝各位选手的认证成绩越来越高!
(文/图:周何、刘辉 责任编辑:周元峰)