USACO(美国信息学奥林匹克学术活动)初次举办于1992年,其官网是美国一个著名在线题库,更是美国中学生的官方学术活动网站,开设目的是为每年夏季举办的国际信息学奥林匹克学术活动(IOI)选拔美国队队员。同时也是国内学生申请美国大学提升背景的利器。
首先,从USACO的赛制说起,一共分为铜、银、金、白金四个级别。所有参赛选手需要经过一轮一轮的不同等级赛题慢慢提升。另外需要注意的是USACO是允许一场比赛多轮晋级的。如果铜级满分,当场直接晋级银级继续比赛,反之则需要等到下个月再接着往下比。
每年12月及来年的1、2月共有三次月赛机会。而12月的月赛通常是圣诞前的一个周末,当场出成绩,一周内放榜,非常适合在RD的截止前冲击申请材料的最后一个闪光点。
USACO接受Python、Java、C++、Pascal和C五种语言。也就是说,这五种语言参赛选手只需要掌握其中一种就可以参赛,这个不像国内NOIP(现CSP)只能使用C++参赛。
高一高二在读学生,高三学生也可以参加12月的第一场比赛,如果实力突出,可以在12月中,RD常规申请前获得白金级奖项,是最后一波进行背景提升的绝好机会。
随着USACO的普及,近些年国内初中生,乃至小学生越来越多的人参加了USACO,并在比赛中赢得了相当突出的成绩。
USACO低组别的题目主要考察参赛人对编程语言的最基本掌握度,高组别比赛会涉及到算法与数据结构的知识。具体如下:
青铜
参赛资格:一进入USACO注册帐号即为铜级
难度等级:铜级考试只要基本编程常识,会至少一种编程语言。根据以往比赛来看,铜级的比赛时间还是较为宽裕的,大部分选手能在一次比赛中进入到白银级。一般USACO白银级的题目可以等于国内NOIP(现CSP)普及组试题难度
需要考核知识点:基础数组,多重循环,复合判断、枚举算法
推荐学习时间:40-50小时编程基本知识点练习
白银
参赛资格:通过青铜级比赛的选手
难度等级:需要基本的问题解决能力的简单算法(例如:贪心算法、递归搜索等),还需了解基础数据结构。从白银级开始,选手需要寻找更好的的算法才能使程序在规定时间内跑完。一般USACO白银级的题目可以等于国内NOIP(现CSP)提高组试题难度
需要考核知识点:基本数据结构、贪心、递归、递推等基本算法
推荐学习时间:语法熟练+70-100小时算法练习
黄金
参赛资格:通过白银级比赛的选手
难度等级:需要有一定的算法基础,理解一些抽象的方法(例如:最短路径、动态规划),并对数据结构有比较深刻的了解。IOI试题>金组试题>NOIP试题
需要考核知识点:堆、栈、树、链表等高级数据结构,动态规划等高级算法,算法时间和空间复杂度
推荐学习时间:200+小时算法练习
白金
参赛资格:通过黄金级比赛的选手
难度等级:需要有很高的编程基础,对算法有深入的了解。部分试题最后的优化方案,可能不止一个,得出的答案也不止一个
需要考核知识点:各类高级的数据结构,尤其是需要算法的时间和空间复杂度
是否对大学申请有帮助是一个很直接且功利的问题,非常现实,也是比赛最重要的目的之一。首先USACO是美国计算机奥赛队的官方选拔赛,肯定备受大学关注。如果选手能在USACO的比赛中拿到黄金级以上的奖项,对于其申请美国大学,特别是计算机大牛学校是一个极大的利器。
在2018年12月份的短短4天月赛比赛中,共有5290名的选手参加USACO的角逐。其中我们可以到,中国是仅次于美国的USACO第二参赛大国,在去年12月赛中中国选手共参加了838人,如果按整个赛季来算,每年国内的参赛人数大概在2000人左右。对比历年数据,国内学生热衷USACO呈现直线上升的状态。
另外还有一个不得不说的现象,在2017年的USACO比赛中首次出现了中文试题。遗憾的是去年又取消了中文,但未来再次开放应该会是一个很大的预期。
虽然没法证明USACO的赛事能保证录取,至少目前是老美非常热衷但国内还没热门的赛事,而且它历史悠久,题目质量很高。计算机赛事不像数理化那么多,USACO还是少有的还没有被中国选手刷的太多的国际大赛,但通过上面的数据分析,USACO在国内的推崇程度呈现火热上升态势,很有可能一两年内USACO会慢慢像AMC那样热门,大家可以想想AMC美国数学学术活动现如今的火热程度。
总而言之,USACO是不仅仅一项可以让申请者迅速提高学术背景的比赛,编程本身作为一门使用技能也会让学理工科的学生受益终生,即便是文商科的同学,编程训练本身带来的思维优势也可以极大的促进学习,提高学生的计算科学素养。
© 2024. All Rights Reserved. 沪ICP备2023009024号-1