电话

400 850 6500

免费热线
美国信息学奥林匹克竞赛
2021-01-12 8次浏览

竞赛简介

USACO(美国信息学奥林匹克竞赛)初次举办于 1992 年,其官网是美国一个著名在线题库,更是美国中学生的官方竞赛网站,开设目的是为每年夏季举办的国际信息学奥林匹克竞赛(IOI)选拔美国队队员。 在不久前落下帷幕的 2016-2017 赛季中,总计有 2003 名参赛选手入围公开赛。其中,中国籍参赛选手共计 132 人(仅次于美国926人),成为参加 USACO 公开赛的第二大国。

USACO 比赛规则

USACO 每场比赛 4-5 个小时。可以在比赛规定时间开始后登陆 USACO 账号,从在线打开试题后开始计时。选手需要在时间结束前通过网络将写好的程序提交。程序提交后官网会给出用 test case 检测程序的结果,并根据结果给出这一题的得分。可以使用C++,Java,Python,Pascal,和 C 中的任意一种编程。比赛对于程序的大小,运行需要的内存以及运行的时间都有一些具体规定。每次比赛,实力强的选手可以连续升级。在比窗口开放的三天时间内,选手可以选择任意时间开始比赛。开始比赛 4 小时内,如果拿到了高分(接近满分或满分),系统会提示直接晋级,可以在这三天内继续挑战下一级,只要实力足够,一场考试可以升到满级白金级。没能拿到满分的选手需要等到三天的赛程结束后,等待晋级分数线,才能决定是否晋级,如果成功晋级,可以在一个月后的第二场继续参赛晋级。

USACO 含金量

随着 STEM 教育的理念,及编程低龄化,普及化的发展,USACO 的参赛人数和热度越来越高。因为编程的门槛相比数理化学习较高,USACO 难度和含金量实际会略高于同类型的 USAMO(美国数学奥赛),USNCO(美国化学奥赛)等等学科奥赛。此外,因为大量的学生参加热门的 USAMO, USNCO 等竞赛,所以 USACO 相对来说并不是过分红海,在中国的高中生中普及度并不高,换言之,参赛选手少了,获得荣誉的人少了,含金量自然更高。对于美本申请工程学科的高中生,USACO 能够获得金或者白金级别的奖项,绝对是提高竞争力的大杀器。

适合对象

国内高一高二在读学生,高三学生也可以参加 12 月的第一场比赛,如果实力突出,可以在 12 月中,RD 常规申请前获得白金级奖项,不啻为申请前最后一波强势的背景提升机会。

2017-2018 赛季 USACO 比赛总结

2017 年 12 月 15-18 日月赛 4489 人参赛;

2018 年 1 月 19-22 日月赛 3398 人参赛;

2018 年 2 月 23-26 日月赛 3048 人参赛;

2018 年 3 月 23-26 日公开赛 2266 人参赛

竞赛时间(以 2019 年时间作为参考)

2018-2019 年时间表

12 月 14 日-17 日: 第一场比赛

1 月 18 日-21 日: 第二场比赛

2 月 22 日-25 日: 第三场比赛

3 月 29 日-4 月 1 日:美国公开赛

如何备赛

对于没有编程基础的选手:

建议从 python 或者 java 入手,上手较快。

可以选择先自学,学习主要内容为数据结构,编程语法,配合一定强度的联系,可以初步通过第一轮铜级的选拔。

对于有部分编程基础的选手,比如在读 AP 计算机的高一高二同学:

可以从 C++或者 C 入手,作为编程语言中最强大最基础的两门,无论是应付比赛还是在以后读本科或者工作中使用,提前学习 C++和 C 都是不错的选择。对于有编程基础及编程经验的选手,比如参加过国内 NOI 的同学:

可疑目标直接是冲击至少金级别以上的奖项,在有数据结构和编程语法的前提下,需要系统的学习一些常见算法,比如排序等等。同时大量练习官方的金,白金级别的真

题。

总而言之,USACO 是不仅仅是一项可以让申请者迅速提高学术背景的比赛,编程本身作为一门使用技能也会让学理工科的学生受益终生,即便是商科文科的同学,编程训练本身带来的思维优势也可以极大的促进学习。

USACO 竞赛等级

青铜

参赛资格:一进入 USACO 注册账号即为铜级。

难度等级:铜级考试只要基本编程常识,会至少一种编程语言。铜级的编程限制时间还是够用的,大部分初次参赛的选手都能在第一次考试中晋级白银级。

白银

参赛资格:通过青铜级比赛的选手。

难度等级:需要基本的问题解决能力和简单算法(例如:贪心算法,递归搜索等),还需了解基础数据结构。

从白银级开始,选手需要寻找更好的算法才能使程序在规定时间内跑完。

黄金

参赛资格:通过白银级比赛的选手。

难度等级:需要有一定的算法基础,理解一些抽象的方法(例:最短路径,动态规划),并且对数据结构有比较深的了解。

白金

参赛资格:通过黄金级比赛的选手。

难度等级:需要有很高的编程基础,对算法有深入的了解。部分比赛问题最后的优化方案,可能不只一个,得出的答案也不只一个。

推荐课程