对于美本留学生来说,STEM专业没有人会感到陌生。作为美本申请大热门,科学(Science)、技术(Technology)、工程(Engineering)、数学(Mathematics)这4门学科,已成为无数学子追逐的目标。而拥有USACO 美国信息学奥林匹克的相关荣誉,绝对是申请过程中的一张王牌。
USACO赛事简介
USACO它不仅是美国国内的一项重要选拔赛,而且在国际信息学竞赛领域享有盛誉。

比赛开设目的是为了选拔参加国际信息学奥林匹克竞赛(IOI)的美国队队员,相当于国内的NOIP比赛。USACO竞赛的难度和水平与真实世界中的编程挑战相匹配,是最富盛名的STEM竞赛之一,也是申请STEM专业的必备敲门砖。
USACO考察的内容是什么?
青铜级别比赛
参赛资格:一进入USACO注册账号即为铜级。
难度等级:掌握基本编程常识,会至少一种语言
考核知识点:分支和循环,嵌套可变循环,列表、函数、二维列表,基础数组,多重循环,复合判断、枚举算法
白银级别比赛
参赛资格:通过青铜级比赛的选手。
难度等级:需基本的问题解决能力和简单算法(例如:贪心算法,递归搜索等),了解基础数据结构。需寻找更好的算法才能使程序在规定时间内跑完。
考核知识点:基本数据结构、贪心、递归、递推等基本算法
黄金级别比赛
参赛资格:通过白银级比赛的选手。
难度等级:需有一定的算法基础,理解一些抽象的方法,并对数据结构有比较深的了解。
考核知识点:堆、栈、树、链表等高级数据结构,动态规划等高级算法,算法时间和空间复杂度。
铂金级别比赛
参赛资格:通过黄金级比赛的选手。
难度等级:需有很高的编程基础,对算法有深入的了解。部分比赛问题最后的优化方案,可能不只一个,得出的答案也不只一个
考核知识点:各类高级的数据结构,尤其是需要算法的时间和空间复杂度,总分1000分。每道题333.3分。
USACO历年真题及参考书
 
USACO难度分析
USACO竞赛的难度与国内NOIP竞赛相当。虽然USACO竞赛的命题水平较高,但算法方面不会涉及过于复杂的算法结构。可以说,USACO竞赛主要考察计算机编程选手的思维能力。
USACO比赛设置铜奖、银奖、金奖、铂金奖等,其中:
铜级组:适合初高中同学,可以是零基础,希望接触并了解算法类比赛,走国际理工科升学路线的学生参与
银级组:已经通过铜级组阶段,适合有一定的编程能力,会独立编写完成简单算法、并有兴趣并希望更深入地学习研究算法、走国际理工科升学路线并在大学里选择相关的理工科专业的学生参与。
备考建议
没有编程基础的同学如何备考:
建议从Python或者Java入手,上手较快。
可以选择先自学,以数据结构,编程语法为主,配合一定强度的练习和老师讲解,可以初步通过第一轮铜级的选拔。
有编程基础的同学如何备考:
在读AP计算机的高一高二同学,或者学习过Python的同学,可以从C/C++或者Python入手,学习算法知识,加强算法练习和真题训练。
有相关参赛经验的同学如何备考:
在有数据结构和编程语法基础的前提下,需要系统的学习一些常见算法,比如排序等等。同时大量练习官方的金、白金级别的真题。 |