如何备战程序设计竞赛?

admin 2022-09-20 15:17:29

程序设计竞赛是最火爆的竞赛之一,每年ACM竞赛团队都在校内组织新生赛、校赛,女生赛、月赛,周赛等,年累计参赛5000余人次,2022年的校赛参赛人数超过500人。
校外的高水平程序设计竞赛包括ICPC国际大学生程序设计竞赛,CCPC中国大学生程序设计竞赛,CCCC中国大学生团体程序设计竞赛天梯赛,“蓝桥杯”全国信息和软件专业人才大赛等。我校竞赛队员在校外高水平程序设计竞赛中取得了优异成绩,包括国际级金奖3项,国家级奖励数十项,省部级奖励数百项。


那么,怎么刷题备战程序设计竞赛?希望这个帖子能有帮助:


第一步,需要熟悉C和C++的基本语法,完成基础的300道题,题目列表如下
程序设计基础一(50题)https://www.buctcoder.com/contest.php?cid=1953
程序设计基础二(50题)https://www.buctcoder.com/contest.php?cid=1954

程序设计基础三(50题)https://www.buctcoder.com/contest.php?cid=1964
程序设计基础四(50题)https://www.buctcoder.com/contest.php?cid=1965
程序设计基础五(50题)https://www.buctcoder.com/contest.php?cid=1970
程序设计基础六(50题)https://www.buctcoder.com/contest.php?cid=1973
程序设计竞赛图书配套题库(99题)https://www.buctcoder.com/contest.php?cid=2712

做完上面的题目,参加程序设计新生赛大概率可以拿到一等奖,同时可以去参加ACM集训队组织的周赛和月赛,codeforce和atcoder两个国际算法竞赛平台的比赛,cf rating能到1200分,就可以联系指导老师(刘勇、周晓琳)加入集训队;


BUCTOJ周赛题目库https://www.buctcoder.com/contest.php?cid=2710

第二步,需要熟悉数据结构,熟练掌握C++ STL,完成浙江大学数据结构课程配套的90道题目,列表如下
数据结构学习与实验指导(1)https://www.buctcoder.com/contest.php?cid=2092
数据结构学习与实验指导(2)https://www.buctcoder.com/contest.php?cid=2101
数据结构学习与实验指导(3)https://www.buctcoder.com/contest.php?cid=2108
数据结构学习与实验指导(4)https://www.buctcoder.com/contest.php?cid=2116
数据结构学习与实验指导(5)https://www.buctcoder.com/contest.php?cid=2134
数据结构学习与实验指导(6)https://www.buctcoder.com/contest.php?cid=2137



第三步,开始进入ACM专题训练,可以研究《挑战程序设计竞赛》,《算法导论》,《程序设计竞赛入门经典》等竞赛教材,并完成配套题目。BUCTOJ上有教材《算法竞赛进阶指南》的配套题目,具体如下
2021年ACM暑假专题训练(第一周) https://www.buctcoder.com/contest.php?cid=1957
2021年ACM暑假专题训练(第二周) https://www.buctcoder.com/contest.php?cid=1958
2021年ACM暑假专题训练(第三周) https://www.buctcoder.com/contest.php?cid=1959
2021年ACM暑假专题训练(第四周) https://www.buctcoder.com/contest.php?cid=1960
2021年ACM暑假专题训练(第五周) https://www.buctcoder.com/contest.php?cid=1961
2021年ACM暑假专题训练(第六周) https://www.buctcoder.com/contest.php?cid=1962
2021年ACM暑假排位赛(铜奖难度) https://www.buctcoder.com/contest.php?cid=2711


完成上面3个步骤,再结合ACM集训队的各种训练,努力把自己的cf rating提升到2000分,将非常有希望拿到程序设计竞赛的国家级奖励~~


每年的蓝桥杯全国软件大赛都吸引了100多名同学报名参加,如何备战该比赛,努力拿到省赛一等奖呢?以下内容有参考价值:
(1)模拟题:不需要算法和数据结构,只需要逻辑、推理的题目,难度可难可易;
(2)BFS和DFS,也就是暴力搜索,这是基本的算法,是基础中的基础;
(3)动态规划,特别是比较简单的线性DP;
(4)简单的字符串处理,输入输出;
(5)基本算法,例如二分法,倍增,差分,快速排序,KMP等等;
cf rating达到1600+,大概率可以拿到省赛一等奖;