针对不同水平大一新生的算法竞赛向建议

首先是零基础的同学:

这部分同学可以先开始学习C语言基础编程。暂时只要学完基本输入输出,变量,顺序结构,分支结构,循环结构,数组,字符串即可。目前学校大部分专业都有编程基础课,部分专业要求学习C语言,计算机专业要求大一上学期就学习C语言。无论各位同学未来如何发展,学习C语言好处多多。

有许多优秀的教材,这里推荐两本:

  • 《啊哈C》这本书的作者是前资深信息学教练。书中配有插图,内容浅显,简单易懂。非常适合新手

  • 小甲鱼的《零基础入门学习C语言》, 讲解生动形象,内容非常全面,完全可以满足包括计算机在内所有专业,以及算法竞赛对C语言的全部要求。如果用这本书的话,注意一下,不要按照他的教程来配练习环境。

练习环境的配置推荐,可以看

最后给这部分同学一些建议:不要因为自己暂时不如身边的人而灰心。多数acmer在大一阶段都是从这一水平起步的。大学是一个有足够自主分配学习空间的学习阶段,即使是暂时的落后,只要愿意学都可以赶上。加油喵!

提供三个练习题单:

【入门1】顺序结构

【入门2】分支结构

【入门3】循环结构

然后是有一定编程基础,但暂未接触算法的同学:

首先可以开始了解C++。得益于功能丰富,使用简单,运行效率高的优点,C++在算法竞赛中的使用占有压倒性的比例。有其他语言的基础,学习起来应该很快。学习的时候,特别关注一下stl(标准模板库)这一部分,里面有一些算法竞赛中很常用的功能。

然后是可以了解一些简单的算法。包括排序,枚举,贪心,模拟,前缀和,差分,递归,深度优先搜索。还要回顾一下大家很久没有接触的基础数论,就是最大公因数,最小公倍数这俩。

在算法基础领域,各平台都有相对优质的练习资源。

  • 洛谷 程序在线测评网站 (OJ)有大量的练习题

  • 牛客竞赛 牛客网的子站,专为算法竞赛设计。初学者可以根据牛客竞赛主页的tracker中的技能树来学习

  • Codeforces(cf) 俄罗斯OJ,阴间时间会有优质练习赛,锻炼脑子

  • AtCoder(atc) 日本OJ,夜间会有练习赛,和cf相比时间更友好,题目更入门

书籍的话推荐洛谷出版的《深入浅出程序设计竞赛》。因为版权原因就不发了,大家自行获取。

更深层次的算法知识包括:记忆化搜索,二分,倍增,树,图论,并查集,动态规划,双指针,单调栈,单调队列,数论。可以继续推进。

最后是已经有算法竞赛经验的同学:

这部分同学一般都有训练的方向和目标,我们也没有什么可建议的了。欢迎来探讨算法知识,以及完成我们为这部分同学准备的进阶题单。

posted @ 2026-09-05 21:52  Cd5  阅读(47)  评论(0)    收藏  举报