程序设计竞赛专题挑战教程
上QQ阅读APP看书,第一时间看更新

1.4 历年真题知识点统计

本节盘点2017~2022年(第八届 ~ 第十三届)省赛C/C++大学A组60道题的知识点,把这60道题分类填到对应的知识点表格中,如表1.4所示,其中有些题目是综合题,一道题考了几个知识点。C/C++大学A组的知识点具有代表性,其他语言和组别的题目涉及的知识点与之类似。

表1.4 第八届~第十三届蓝桥杯软件类大赛省赛C/C++大学A组题目所涉知识点统计

表1.4中涉及的知识点不算多,不过蓝桥杯软件类大赛的考点在逐年增多。

从表1.4中可以看出,省赛涉及的知识点比较基础,考核的是基本的算法思维、算法、编程能力。要想获奖,最重要的是通过大量做基础题目,培养自己的计算思维,并提高自己的建模和编程能力。

有一些知识点是必考的,因为它们是整个算法竞赛知识库的基础,现举例如下。

(1)杂题。杂题是指不需要使用算法和数据结构,只需要进行逻辑推理的题目,可难可易。考查的是参赛选手的思维能力和编程能力,这只能通过大量做题来提高。

(2)广度优先搜索(Breadth First Search,BFS)和深度优先搜索(Depth First Search,DFS)就是暴力搜索。这是非常基础的算法,是基础中的基础。

(3)动态规划。涉及线性DP及一些DP应用,例如状态压缩DP、树形DP等。

(4)简单数学和简单数论。

(5)简单的字符串处理、输入与输出。

(6)基本算法,例如排序、排列、二分、倍增、差分、贪心。

(7)基本数据结构,例如队列、栈、链表、二叉树等。