USACO是什么比赛,看这篇文章就够了

今天为大家介绍的是USACO ——美国计算机奥林匹克竞赛

01USACO 简介 备考指南丨了解USACO,这篇文章就够了!USACO的全称是United States of America Computing Olympiad,即美国计算机奥林匹克竞赛。竞赛主要衡量算法和运用两大方面的技能,旨在锻炼学生用计算机编程解决问题的能力。

相信大部分的同学一定都听说过奥林匹克竞赛,奥林匹克包括数学,物理,化学,生物和信息学。而USACO就是美国的信息学奥林匹克竞赛,对于申请美国大学本科(尤其是计算机专业)的学生有帮助,历届顶尖选手受到牛校钟爱,开设目的是为国际性赛事IOI选拔美国队队员。

02为什么要参加USACO?
赛事含金量
USACO竞赛的成绩对申请美国大学是非常有帮助的,如下是国外著名网站Quora上的回答,可以看到,大家对USACO申请美国大学的作用还是给予了非常肯定的回答的。
备考指南丨了解USACO,这篇文章就够了!- 图源网络 -

下图在罗列对申请美国大学有帮助的活动时,第一项就强调了USACO的作用。
备考指南丨了解USACO,这篇文章就够了!- 图源网络 -

最后这张给出了USACO等级对应的数学奥林匹克竞赛等级,很多偏理科的大学都会要求AIME(美国高中数学邀请赛)成绩,但如果你有对应的USACO成绩,大学也是认可的。
备考指南丨了解USACO,这篇文章就够了!
- 图源网络 -

目前,USACO在美国非常热衷,但是国内参与的人员还比较少,以2018年公布的数据为例,总共有65个国家3048 名学生参加竞赛,其中来自中国的学生只有280 人。相信随着STEM教育理念,及编程低龄化,普及化的发展,国内USACO 的参加人数和热度会越来越高。

思维训练和能力提升
接受一个编程项目,独立思考相关知识点(数学逻辑、数据结构、算法、计算机体系结构、英语理解等),运用各种能力(计算思维、资料收集、刻意练习)设计并实现,验证正确性,反复迭代修正。

整个流程在普通的学制教育中往往要到硕博士才有训练机会,而参加竞赛的选手从小就在以这种方式训练着思维,对于专注力和独立解决问题的能力提升非常有帮助。

同时,参加高阶信息学竞赛的往往是最优秀的孩子,他们一起交流、学习、讨论和竞争会潜移默化地影响每个孩子的能力、习惯和学习方式。

而且竞赛的打分,不仅仅是解决问题,还要考量解决的时间效率和空间效率。不同解决策略的得分不一样。这种评价方式,培训和锻炼的就是学生的效率意识和全局规划意识。

对学业和工作的帮助
在USACO竞赛中证明自己的问题解决能力和学习能力,会对今后的学业和工作都有很大的帮助。现在很多互联网公司内,特别是偏向于人工智能的技术公司,都在大量吸纳竞赛人才,因为这些人非常善于解决核心问题。人工智能的核心就是算法。

例如搜狗的CEO王小川(IOI 1996年金牌),旷视科技CTO, 人工智能学术界陈启峰(IOI 2007金牌),陈丹琦(IOI 2008金牌),周源(IOI 2005金牌)等,信息学竞赛对于未来想从事计算机相关工作的人有很大的提升作用。

03USACO 比赛资讯
1.如何报名参加比赛?

USACO竞赛是免费的,参赛选手不限国籍,考试形式为机考。在www.usaco.org 注册一个免费账户(只需要有邮箱就能注册),注册时不需要选定特定的比赛日期,只要有了这个账户,可以在竞赛开始后随时参与竞赛。

2.如何注册报名及获取考试信息?
备考指南丨了解USACO,这篇文章就够了!- 图源网络 -

注册: 在右栏your account部分,有一个选项为“register for new account”,点击,然后出现下图,填信息,提交就好了。
备考指南丨了解USACO,这篇文章就够了!- 图源网络 -
系统会发password到你的邮箱。然后就可以登录了,登陆后可以修改password。

参赛选手请提前注册,注册通过需要一点时间。学生可以凭借这个账户,随时登录查看考试资讯和获取题库,每年考试期间登陆参加具体月份的考试。

3.USACO什么时候举行比赛?
USACO 一般是每年12 月份开始到次年3月份进行,会选择四个周末举办主要的比赛,从周五到周一,在这个时间段内学生可以选择在任何时间比赛,通常来说每次竞赛的时间为4个小时,但有时候是3个小时或者5个小时。

4.如何准备USACO?
登录官网后可以看到上面有一个训练题库(https://train.usaco.org),可以登陆这个题库并进行注册,这个网站和USACO官网的注册是分开的,需要独立注册,可以这上面进行训练。

同时,登录官网还可以查看历年的竞赛真题(http://usaco.org/index.php?page=contests),可以做一下这些题目,对题目的类型有一个基本的了解。只有对竞赛做好万全的准备,才能拥有十足的信心去应对竞赛的挑战。

04USACO难度及等级 

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

白银参赛资格:通过青铜级比赛的选手。
难度等级:需要基本的问题解决能力和简单算法(例如:贪心算法,递归搜索等),还需了解基础数据结构。从白银级开始,选手需要寻找更好的算法才能使程序在规定时间内跑完。

黄金参赛资格:通过白银级比赛的选手。
难度等级:需要有一定的算法基础,理解一些抽象的方法(例:最短路径,动态规划),并且对数据结构有比较深的了解。

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

05USACO比赛规则介绍 

个人战,USACO每场比赛4-5个小时。可以在比赛规定时间开始后登陆USACO账号,从在线打开试题后开始计时。一套试题中有三道题。选手需要在时间结束前通过网络将写好的程序提交。程序提交后官网会给出用test case检测程序的结果,并根据结果给出这一题的得分。可以使用C++,Java,Python,和C中的任意一种编程。比赛对于程序的大小,运行需要的内存以及运行的时间都有一些具体规定。

每次比赛,实力强的选手可以连续升级。在比赛窗口开放的三天时间内,选手可以选择任意时间开始比赛。开始比赛4小时内,如果拿到了高分(接近满分或满分),系统会提示直接晋级,可以在这三天内继续挑战下一级,只要实力足够,一场考试可以升到满级白金级。没能拿到满分的选手需要等到三天的赛程结束后,等待晋级分数线,才能决定是否晋级,如果成功晋级,可以在一个月后的第二场继续参赛晋级。

06USACO 使用的编程语言
USACO 接受多种语言的解决方案,包括 C++,C,Java 和 Python。由于Java 和 Python 相比于 C++/C语言运行的会慢一些,所以这两种语言所允许的运行时间是 C++ 和 C 的两倍。USACO 提供了更加灵活的支持,使得比较喜欢 Java 和 Python 的人也有机会参与到算法竞赛中。
备考指南丨了解USACO,这篇文章就够了!
- 图源网络 -

经过本文的讲解,相信大家对USACO竞赛有初步的了解。总而言之,USACO是不仅仅是一项可以让申请者提高学术背景的比赛,编程本身作为一门使用技能也会让学理工科的学生受益终生!即便是商科文科的同学,编程训练本身带来的思维优势也可以对专业的学习也大有帮助哦~

如果你想在这样的活动里挑战自己,那就不要错过当下的黄金准备时间,翰林助你备战USACO,感兴趣的同学可以联系翰林顾问老师一对一咨询哦~

翰林USACO课程体系流程图

翰林USACO课程体系流程图

 

翰林国际教育资讯二维码