USACO考前如何练习?USACO晋级率高吗?USACO备考技巧必看!

hti-usa 竞赛项目

计算机界的国际竞赛当属USACO最为火爆了,每年有近13000人参加,USACO的含金量全球认可,面向全世界公开,中国已经成为参加USACO公开赛的人数第二大国。线上考试且参赛完全免费,这样的神仙竞赛,你确定不了解一下?本文主要给大家介绍USACO竞赛时间/USACO竞赛规则/USACO考前练习技巧/USACO历年真题/USACO晋级分数线/USACO通过率/USACO课程辅导!

USACO竞赛介绍

美国计算机奥林匹克竞赛(USACO)是一项针对全世界所有的高中信息学竞赛选手的一项竞赛。比赛开设目的是为了每年夏季举办的国际信息学竞赛(IOI),选拔美国队队员(4 名)。

这场赛事相当于中国的 NOI 系列赛,科科非常推荐国内的信竞选手报名参赛,既能增加竞赛经验,又能有机会取得高含金量的信息学成绩~

对于喜欢计算机专业的留学预备党来说,参加USACO不仅可以提升计算机硬实力,也将助力英美TOP大学申请

1适合学生

任意年级中学生。

高三学生也可以参加12月月赛,实力突出的选手可以在12月RD申请前获得白金级,不失为一波背景提升机会。

可以使用C/C++,Java,Python,Pascal任意一种编程语言。

2赛事时间(美东时间)

2022年12 月 16-19 日:第一场比赛

2023年1 月 27-30 日:第二场比赛
2023年2 月 24-27 日:第三场比赛
2023年3 月 24-27 日:美国公开赛
2023年5 月 25-6 月 3 日:训练营
2023年7 月 15-21 日:EGOI 2023(瑞典)
2023年8 月 28-9 月4:IOI 2023(匈牙利)

3赛制规则

在赛事窗口开放的三天时间内,选择任意时间开始比赛,只要实力足够,一场可以升到白金级

其他选手需要等3天赛程结束后,根据分数线决定是否晋级。

为什么要参加USACO

1. 计算机能力极佳证明,特别是进入金级和铂金级,就算不申请CS专业,申请商科,工程甚至人文社科,招生官都能一眼认定学生的编程能力 

2. 对算法和数据结构的学习比同龄人提前很多达到科研门槛,有助于拉升学习规划和活动规划的天花板,比如能更快开始尝试计算机相关的科研活动。 

3. 进入大学之后能够更早修到高level的课程,拿到比别人多得多的实验室机会 

4. 科技公司面试敲门砖,科技公司的面试题基本都是和算法和数据结构有关的计算机问题 

5. CS专业毕业就业率高,工作好找,毕业薪资前几都是计算机相关岗位。USACO所学算法和数据结构是计算机方向求职面试必备知识。即使现在不学习,将来如果想要容易找工作还是得再去学。

USACO竞赛等级

USACO题目难度分为铜级、银级、金级、铂金级4种级别,难度依次提高。新注册的选手从铜级开始,在规定的时间内完成3道题目,如果过关,可晋级到更高级别,只要学生实力足够,可以连续晋级。

每场比赛4~5个小时,从在线打开试题后开始计时。选手需要在时间结束前通过网络将写好的程序提交,程序提交后官网会给出用test case检测程序的结果,并根据结果给出这一题的得分。

USACO支持的编程语言包括C++、C、Java、Pascal、Python(据统计参加竞赛人员所使用的语言排名为:C++ > Java > Python > C > Pascal)

青铜

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

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

白银

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

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

黄金

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

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

白金

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

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

学习到什么程度才能参加USACO比赛?

第一、编程语言的运用熟练度

无论是参加 USACO ,还是其他信息竞赛,这一点是信竞选手参赛的基础。在比赛中,如果选手只有思路,却不能熟练运用代码表达出来,那就不能得分,更别谈晋级、获奖了。

第二、掌握铜组知识点

USACO 的第一关就是铜组,所以,对选手的最低要求就是掌握铜组涉及的知识点。因为铜组涉及到的知识点并不多,并且考察的也不深,所以选手们还是比较容易备赛的。

第三、练题、刷题

如果想要在比赛中走得更远,只掌握了知识点是完全不够的!选手们还得多刷一些历年的真题。一般情况下,选手至少要刷一遍近两年的 USACO 真题,提前熟悉赛题难度。

USACO考前练习技巧

1. 登陆USACO官网,可选择其它赛季的题目进行查看 1)点击CONTESTS 2)选择某一次比赛,如点击 2018 US Open Contest Results 3)  进入赛题页面,往下滑至 USACO 2018 US OPEN CONTEST, BRONZE 4)点击题目下的 Viewproblem 查看具体题目 
2. 编写代码与提交 1)以Python为例(C++,JAVA可参考文件【USACO数据读写】),先用Python IDE 等软件编写代码注:不是在USACO官网上写代码,是自己先写好代码,然后上传代码。2)在USACO官网对应题目下,选择Python3.4.0,上传代码文件并提交
3. 查看结果 1)提交完代码后,在试题题目上方会显示测试结果。 2)若结果是如上图的绿色,则为正确答案;若是红色的,则为错误答案。 注:每道题目有10到15组数据测试所提交的代码的正确性与通用性,测试数据会按照题目中的SAMPLE INPUT 的规则,在数据的数量、数据值的大小和数据特征上进行变化,故只有正确且通用的代码才能拿到高分。 3)若三道题目全都通过即满分,则会直接晋级到银级,在本次比赛中可以另选四小时完成银级题目;若银级题目满分,则会直接晋级到金级;依此类推

USACO晋级分数线和通过率

以下为2022年2月份USACO晋级分数线:

■ 白金级有 479 名参与者,其中335 名是初高中生。

■ 金级有 774人参加,其中546人初高中生。晋级分数线是750。

■ 银级有3551人参加,其中2737人初高中生。晋级分数线是650。

■ 铜级有5129人参加,其中3954人初高中生。晋级分数线是700。

USACO竞赛采取积分赛制, 总共分为四个梯队, 青铜Bronze、白银Silver、黄金Gold、白金Platinum,难度递增。每场比赛时间为4小时,总共3道题,每场满分1000分 USACO 的晋级分数线,在不同的级别不同的场次都是不一样的。 

以21年和22年的赛季为例,Bronze铜级的分数线基本是在700~750,偶尔在题目相对比较简单的场次,也会有800分的分数线出现;Silver 银级在这个赛季基本是650~750左右;Gold 金级则在650~750。到了 Gold 以后,平均下来看,今年每一场考试能够通过 Gold 到 白金Platinum,整个美国是少于20人的,所以含金量是非常的高。晋级至少要作对2道半。

综合来看,过去三年 Bronze 通过率就在15%左右。

Silver 在前年也就是2019~2020赛季,是在5%;在2020~2021赛季是6%左右;到今年的话也是有所降低。而 Gold 的通过率大概在 2% 到 3% 左右。