「HUST CCF 分享会」CCF-CSP 专业级认证经验分享
本文最后更新于:2022-11-07 17:26:07 UTC+08:00
关于我
李根
- 计科 2109 班
- 中国大学生程序设计竞赛(CCPC)威海站、湖北省赛金奖
- 国际大学生程序设计竞赛(ICPC)东亚区决赛银奖
- 蓝桥杯/天梯赛全国一等奖
- CCF CSP 最好成绩 440 0.15%
- 联系方式 1353055672@qq.com
选好语言
CSP 支持的语言:C/C++, Java, Python。
或许和大作业之类的有些不同,输入输出都是直接在黑窗口操作。
尽量选择自己熟悉的语言。对于某些特殊的题(比如 C/C++ 需要手写大数乘法(也就是高精度)),可以考虑换成 Python。
题目趋势
可以看出历次 CSP 认证有越来越难的趋势,题目比较长,需要认真做阅读理解。
总体难度飘忽不定。
算法竞赛的题目基本模式就是输入一些数据,经过你程序的处理,输出题目想要的结果。
读懂题目很重要。需要梳理清楚输入、输出数据分别有什么用、用在什么地方,并且数据需要经过什么样的处理,才能最终输出正确的结果。可以借助样例来理解题意。
心态不要崩。尽自己所能能怎么写就怎么写,反正没有提交次数限制,在一场比赛中可以自由尝试。
拿到尽可能多的部分分。所有题目都有数据规模较小的部分分,即使效率并不优秀,仍然可以硬着头皮写,能拿到多少分都不亏。
算法学习
- 基础算法学习路线 - walker shi的文章 - 知乎 https://zhuanlan.zhihu.com/p/474328150
- AcWing CCF-CSP 认证辅导课 https://www.acwing.com/activity/content/39/
- 洛谷 - 华中科技大学计算机学院题单 https://www.luogu.com.cn/team/29447#main
- 一个动态更新的洛谷综合题单 - Studying Father's blog https://studyingfather.com/archives/841
- 书籍:《算法竞赛入门经典》、《算法导论》等等
- 试试实战?CodeForces Div.2 / Div.3 日常比赛 https://codeforces.com/contests,可以试试每一场的 AB 题
试试真题!
第 1/2 题
第 1/2 题基本是读懂题目就能做的题,一般类似于 C/C++ 实验上机课的难度。
可能需要转换一下题目模型。因为可以带纸质资料,所以如果忘了某个语法,可以及时查阅自己带的书籍/打印资料。
建议:如果对第 1 题无法 100% 通过的话,请到官网把第一题都刷一遍,或者在洛谷 - 入门难度的题目、CodeForces Div.2/3 前 2 题都尝试写写。
如果对第 2 题无法 100% 通过:正常!有一些场次题目难到第 2 题都非常的难,甚至会用到 4/5 题才会用到的一些算法。那只需要拿到 70% 的分数就可以了!一般来讲你能想到的最朴素的做法都能拿到 70% 的分数(比如爆搜 DFS,或者两重循环把所有情况一一考虑)。
第 3 题
非常像一个大作业,需要认真仔细读懂题目,把题目仔细阅读几次,把基本框架搭好。可以自己在纸上把框架画出来。
如果知道面向对象的思想:可以使用 struct
、class
把一些信息存在一起,便于统一管理(工程化的思想)。
调试:建议根据你所列举出来的框架一步一步来写,每写完一个模块就自己构造数据测试一下,看是否与预期结果相同,避免最后代码过于冗长,调试编译起来非常耗时间。
第 4/5 题
不用想着满分,建议有时间都看一遍,可以发现部分分给的非常丰富。利用自己能想到的所有算法,争取把 30% 甚至 50% 的分数拿到手。
推荐阅读
- CCF CSP备考不完全指北 - Jackson wang的文章 - 知乎 https://zhuanlan.zhihu.com/p/412271266
- 下下策:骗分 https://blog.csdn.net/weixin_45920495/article/details/105081444
提问
分享原文:https://ligen.life/2022/csp-experience-sharing/
参考
- 基础算法学习路线 - walker shi的文章 - 知乎 https://zhuanlan.zhihu.com/p/474328150