今天机构给大家推荐几本零基础备考USACO的宝藏书籍,详细的描写了从算法到代码编写每个步骤,让你实现从0到1~
01、《算法解决导论》
这本是是备考USACO竞赛一站式指南,为USACO比赛的铜牌到银组、金组,再到铂金,提供了一系列有价值的参考资料。0基础开始学习USACO必备书籍。
02、《编程竞赛手册》
算法的设计包括问题解决和数学思维。需要分析问题和创造性地解决问题的技能。解决问题的算法必须既正确又高效,问题的核心往往是发明一种高效的算法。算法的理论知识对有竞争力的程序员很重要。
03、《竞赛编程》
这本书里面是包含了:公约和问题、分类缩写、列表表格、列表数字、数论应用、计算几何等内容。大家也都知道理工不分家,因为这本书讲究逻辑和数理思维,因此计算机是对数学,物理 及其其他很多理工类科目,甚至⼀些跨领域学科都是有非常大的帮助,他们是相互相辅相成的。
04、《哈希表》
哈希表也叫散列表,哈希表是一种数据结构,它提供了快速的插入操作和查找操作,无论哈希表总中有多少条数据,插入和查找的时间复杂度都是为O(1),因为哈希表的查找速度非常快,所以在很多程序中都有使用哈希表,例如拼音检查器。
05、《算法解决导论》
这本书的目的是以两种方式为算法解决问题,它试图填补现有书籍中的一些漏洞。算法问题解决的许多主题在文献中根本缺乏任何处理--至少在英语书籍中是这样。相反,大部分内容只记录在博客文章和各种比赛问题的解决方案中。
USACO
USACO(United States of America Computing Olympiad,美国计算机奥林匹克竞赛)是一项针对全世界所有的高中信息学竞赛选手的一项竞赛。这项赛事不仅可以培养学生的算法和编程思维,好的竞赛成绩还能给孩子大学申请加分。由于有些编程题跟谷歌,脸书等顶级科技公司面试题类似,好的USACO竞赛成绩对孩子以后申请实习也大有裨益。
USACO采取积分赛制,分为月赛和公开赛两轮。在每年的12,1,2,3月份会组织月赛,一月一次;4月份会组织一次公开赛;5-6月会组织美国国家队集训,选拔IOI美国国家队成员(4人)。
USACO的含金量
随着STEM教育的理念,及编程低龄化,普及化的发展,USACO的参赛人数和热度越来越高。因为编程的门槛相比数理化学习较高,USACO难度和含金量实际会略高于同类型的USAMO(美国数学奥赛),USNCO(美国化学奥赛)等等学科奥赛。
此外,因为大量的学生参加热门的USAMO,USNCO等竞赛,所以USACO相对来说并不是过分红海,在中国的高中生中普及度并不高,换言之,参赛选手少了,获得荣誉的人少了,含金量自然更高。
对于美本申请工程学科的高中生,USACO能够获得金或者白金级别的奖项,绝对是提高竞争力的大杀器。
竞赛等级
青铜
参赛资格:一进入USACO注册账号即为铜级。
难度等级:铜级考试只要基本编程常识,会至少一种编程语言。铜级的编程限制时间还是够用的,大部分初次参赛的选手都能在第一次考试中晋级白银级。
白银
参赛资格:通过青铜级比赛的选手。
难度等级:需要基本的问题解决能力和简单算法(例如:贪心算法,递归搜索等),还需了解基础数据结构。从白银级开始,选手需要寻找更好的算法才能使程序在规定时间内跑完。
黄金
参赛资格:通过白银级比赛的选手。
难度等级:需要有一定的算法基础,理解一些抽象的方法(例:最短路径,动态规划),并且对数据结构有比较深的了解。
白金
参赛资格:通过黄金级比赛的选手。
难度等级:需要有很高的编程基础,对算法有深入的了解。部分比赛问题最后的优化方案,可能不只一个,得出的答案也不只一个。