如何零基础入门USACO?

2022-07-28 12:35:55来源:未知作者: 飞飞阅读量:

最近不少家长问我在忙什么,怎么连续几周没有更新了?

对此我也十分抱歉,公众号没有更新,主要有两个原因,第一是因为这个赛季的USACO竞赛刚刚结束,很多学生也都完成了这个赛季的目标,很多家长也都陪孩子经过了一个紧张的赛季,我也是度过了最忙的一段时间,所以想着大家都休息一下,放松下心情,这个时期大部分家长对USACO 的关注度也降低了,所以趁此休息一下。

第二个原因是最近确实在忙一件事情,那就是忙着出版一本书,书名就叫做——USACO零基础入门。这本书从去年暑假开始写,中间经历了排版,校对,修改,备案等过程,也是耗费了很多的心力。这两个月集中进行修改备案后,终于最终通过了审核,过了这段疫情期,应该很快就可以出版了。

之所以想写这样一本书,主要是因为发现市面上并没有关于USACO竞赛的介绍书籍,很多想了解USACO竞赛的学生都不知道该如何入门。虽说USACO 和国内的NOI 一样都是学习计算机算法,但这两种竞赛的考试等级划分,每个级别的知识点要求,以及出题特点等都不一样,这使得很多想要参与USACO竞赛的学生无从下手。

市面上关于NOI算法的书籍有很多,但是有关USACO的中文书籍基本上没有。这是因为国内的大部分算法老师主要都是面向NOI竞赛的,对USACO竞赛体系并没有深入的研究和了解。而USACO竞赛的官网也并没有明确的给出各级别竞赛的知识点大纲,如果没有对USACO历年真题的深入研究和整理,很难给出算法总结。

在准备编写这本书的时候我给自己定了个目标,就是希望一位完全没有接触过编程的学生,能够通过对书中知识点的学习和练习,从零基础快速达到通过USACO铜牌组的算法水平。所以这本书中不仅仅覆盖了铜组的算法知识点,还重点罗列了编程语言所需要掌握的基本语法,对于没有任何编程语言基础的学生来说,完全可以跟着书中的引导,快速掌握算法必备的语法知识。

为了能够达到让零基础的学生快速算法入门的目的,在编写本书时,我一直遵从以下几点理念:

  1. 梳理竞赛最重要的知识点,让学生可以用更少的时间掌握最精华的内容。

    不管是编程语言还是算法,如果需要完整的学习和了解的话,都需要花费很多的时间和精力。本书以USACO 竞赛为目标,反向梳理出了竞赛中最必要的知识点,从而帮助学生用更短的时间掌握这些知识点,能够更快速地参与到USACO竞赛中,从而在竞赛中不断得到反馈和提升。

  2. 对历年真题进行了整理,能够针对性的进行训练。

    USACO 的历年真题一般都归属于某一类算法,在学习算法时,如果能够以历年真题作为例题,则能够更容易了解真题的难度,知识点考核方式,以及算法的应用场景。书中把历年的真题按照算法进行了整理,方便学生能够针对性的进行训练。

  3. 给出了算法框架,让学生在使用算法的时候,知道思考的路径是什么。

    很多学生在做题时,明明知道应该使用什么算法,但就是不知道接下来如何用算法解决问题。这就是缺少算法的框架感,不知道该算法中最需要思考的要素是什么,如果针对算法,都有一个算法框架和要素清单,就能够清楚的知道应该在题目中寻找哪些要素,从而快速套用算法解答出来,这种框架感能有效的帮助学生更快速的解答问题。

  4. 给出了解题四步法,让学生养成很好的解题习惯,能够通过四步法的方式一步步得到答案。

    很多学生刷了不少题目,但提高并不明显,这是因为他们缺少反思,细致的步骤反思。如果把解题过程分成审题,分析,编码,反思优化四个部分,针对不会做的题目,学生明确的记录是在哪个环节出现问题,这样经过一段时间的观察,就能明确的知道自己在哪个环节比较薄弱,从而不断针对此环节总结新的方法和思路,破除自己的瓶颈。

从上面的介绍中相信您已经能够了解到,这本书更多是针对编程零基础的学生,或者有一定语言基础,但缺少算法学习的学生。如果您的目标也是希望能够通过USACO竞赛体系提升自己的算法能力,那么相信这本书将是一个很好的学习开端!

相关文章

更多栏目

热门文章