
USACO竞赛在美国名校含金量不低于AMC,尤其是计算机相关专业,简直是名校通行证!
USACO 每年从 12月到次年 4 月举行四次。每一场月赛都会有四组比赛构成,分别是铂金组、金组、银组、铜组,难度对比大家熟知的美国AMC数学竞赛类比如下:
USACO竞赛考核的重点在于学生的两方面能力:
USACO竞赛接受多种语言的解决方案,包括Java,C++和Python。由于运行时间较长,Java和Python提交的时间限制是C++的两倍。然而,USACO并不推荐Python,因为它往往比Java运行得更慢。
USACO其中用得最多的是C++,Java和Python,其运行速度:C++ > Java > Python。
初学者选择什么编程语言好?
Python:易学易考,但由于它运行速度较慢,一般仅限于在铜级赛中使用。
Java:一般建议学生先从Java开始,因为比较容易上手,而且是美国高中AP Computer Science A要求的语言,且在铜级和银级的竞赛中和C++区别不大。
C++:随着对算法的要求越来越高,C++在金级和铂金级的竞赛中往往更具优势。C++虽然程序紧凑效率高,但起步难,不建议初学者自学。
USACO有4个级别,铜级,银级,金级,铂金级,难度依次递增。每个人都必须从铜级开始参赛,一进入USACO注册账号即为铜级,在规定时间内完成3道题目。
要想参加下一级的竞赛首先要通过前一级,如要想进入白银就必须先过青铜级别的测试,想要参加黄金竞赛就必须要通过白银级别的测试,以此类推。
usaco比赛对于程序的大小,运行需要的内存以及运行的时间都有一些具体规定。整个USACO竞赛时间为4个小时,在比赛规定时间开始后登陆USACO账号,从打开试题后开始计时,选手需要在时间结束前通过网络将写好的程序提交。程序提交后官网会给出用test case检测程序的结果,并根据结果给出这一题的得分。
每次比赛,实力强的选手可以连续升级,在比赛窗口开放的三天时间内,选手可以选择任意时间开始比赛,开始比赛4小时内,如果拿到了高分(接近满分或满分),系统会提示直接晋级,可以在这三天内继续挑战下一级,只要实力足够,一场考试可以升到满级白全级,没能拿到满分的选手重要等到三天的赛程结束后,等待晋级分数线,才能决定是否晋级,如果成功晋级,可以在一个月后的第二场继续参赛晋级。
-
代码提交后,系统会自动给出评分,每个编程问题的分值都是333.333分,总分是1000分。
-
如果拿到满分,系统会提示直接晋级,则可在本次月赛中继续挑战更高难度的试题。
-
一般情况下,月赛考试结束后,会划出晋级分数线。如果成功晋级,可在下个月的比赛中参加更高级别的竞赛。