01. 什么是USACO
USACO即美国计算机奥林匹克竞赛,全称United States of America Computing Olympiad, 是由美国官方举办的中学生计算机编程与算法线上比赛,也是誉满全世界的中学生计算机编程竞赛。这个赛事类似于中国国内的NOIP,NOI等系列的比赛,同样都是算法竞赛。

02. USACO对于留学用处大吗?
每年留学的人数很多,想在激烈的竞争中脱颖而出,仅仅成绩好是远远不够的,除了硬件实力,还需要提高段实力。参加USACO这种高含金量的国际性认证的竞赛是一种有效提高软实力的方法。
首先USACO是美国计算机奥赛队的官方选拔赛,这点已经能证明这个比赛的重要性。
因为大量的中国学生热衷于参加热门的美国数学奥赛、美国化学奥赛,所以USACO在中国的普及度并不高。这意味着参赛选手少,获奖选手也少,含金量自然更高。
如果选手能在USACO的比赛中拿到黄金级以上的奖项,特别是对于申请美国理工科专业的同学来说是一个极大的利器,有机会提前被藤校所录取。
03. USACO适合什么孩子学习?
适合学生:初中高中生。
适合国内有意向申请国外大学的初中高中生,或者想锻炼自己编程能力的。12月的第一场比赛,如果实力突出,可以在12月中RD常规申请前获得白银级奖项 ,可以说是申请前后最后一波强势的背景提升机会。当然,编程基础较好,有算法能力的低年级也可以尝试参赛,提前挑战USACO竞赛,证明自己的编程能力。
04. USACO对英文水平有要求吗?
没有要求,不用担心英文看不懂,USACO主办方为题目提供了多种语言翻译,其中包括中文。
05. USACO怎么报名?
不分国界不论年级,全世界的编程爱好者都可以在www.usaco.org 注册一个免费账户(只需要有邮箱就能注册),注册时不需要选定特定的比赛日期,只要有了这个账户,可以在比赛开始后随时在线参与竞赛。
06. USACO什么时候比赛?
USACO每个赛季举办4次比赛:12月,1月,2月,US open(3月),同一月份会选择四个周末举办主要的比赛,从周五到周一,在这个时间段内学生可以选择在任何时间比赛,一般是4小时(US open是5小时)完成3道题,总分是1000分,每题333分(如果有15个测试点,每个测试点22分),总得分达到一定分数线就晋级。
每次比赛,实力强的选手可以连续升级。在比赛窗口开放的三天时间内,选手可以选择任意时间开始比赛。开始比赛4小时内,如果拿到了高分(接近满分或满分),系统会提示直接晋级,可以在这三天内继续挑战下一级,只要实力足够,一场考试可以升到满级白金级。没能拿到满分的选手需要等到三天的赛程结束后,等待晋级分数线,才能决定是否晋级,如果成功晋级,可以在一个月后的第二场继续参赛晋级。
07. USACO比赛用什么编程语言?
USACO 接受多种语言的解决方案,包括 C++,C,Java 和 Python。但建议尽量使用C++语言,C++是使用最广泛的参赛语言/题解语言。参赛所用C++只是C++语言的一个小子集,只是C语言加上标准模板库STL。虽然在USACO,Python、Java时间限制是C++的两倍(4s),但还是C++程序运行更快,更易于满足时间限制。白金组使用Python有些测试点可能会超时。毕莘也是用最优语言C++语言来教学的。
08. USACO会不会很难?适合初学者参加吗?
目前USACO分为铜、银、金、铂金四个级别, 难度依次递增。每一个参赛者需要从铜级开始参加,达到一定分数可以自动晋级到上一级别。因为铜级比赛基本上不涉及算法与数据结构,编程入门以后就可以参加铜级的比赛了。