USACO计算机竞赛是美国计算机奥林匹克竞赛(United States of America Computing Olympiad)。它是一项在线计算机编程竞赛,目的在于选拔和培养具有优秀计算机科学和编程技能的学生。USACO月赛第一场已经结束。想要准备USACO竞赛的同学,可以认真看完~
新赛季USACO竞赛时间:
12 月 15 日~18 日
1 月 26 日~29 日
2 月 16 日~19 日
3 月 15 日~18 日
USACO计算机竞赛分为四个级别,分别是:铜(Bronze)、银(Silver)、金(Gold)、铂金(或称白金)(Platinum)这四个级别。USACO晋级路径是从青铜级→白银级→黄金级→铂金级,难度逐级递增。新注册的参赛选手需要从最低组别开始打起。

USACO计算机竞赛接受多种语言,其中用得较多的是C++,Java和Python,运行速度C++>Java>Python。
Python:易学易考,但由于它运行速度较慢, 一般仅限于在铜级别中使用。
Java:美国高中AP Computer Science A要求的语言,且在铜级和白银级别比赛中和C++区别不大。但USACO竞赛是一个要求运行时间比赛,同学们想通过黄金、铂金级别考试,使用C++会更好一点。
C++:随着对算法要求越来越高,C++在黄金级和铂金级竞赛中往往更具优势。
USACO计算机竞赛满分1000分,考察3道编程题,当场出分,考到满分或接近满分的同学可当场晋级下一级别,一般晋级分数线在700-800分。USACO竞赛主要考察算法和数据结构两大内容,下面是USACO竞赛各级别考点:
铜升银
simulation, brute force, observation,要求学生掌握基本的brute force算法,比如深度优先搜索和广度优先搜索,对代码有基本的调试能力。
银升金
4个比较重要的考点:two pointer, sweep line,binary search on answer, prefix sum + graph +simple dp
金升铂金
几个比较大的考点:graph theory, math, DP, rangequery,misc,string以及偏data structure的内容比如 tree,但通常来讲是结合前4个考点来考察
全球排名赛
与上一级别考点基本吻合,但每一个topic里面有更深层次的要求,需要优化程序,否则就会超时。
USACO计算机竞赛没有学校和地区级的限制。
每场比赛4-5个小时。登录USACO账号在比赛规定时间开始答题。
竞赛形式
选手需要在时间结束前将写好的程序提交。程序提交后官网会给出用test case检测程序的结果,并根据结果给出这一题的得分。可以使用C++,Java,Python,Pascal,和C中的任意一种编程语言。
晋级机制
如果拿到了高分(接近满分或满分),系统会提示直接晋级,可以在这三天内继续挑战下一级。没能拿到满分的选手需要等到三天的赛程结束后,等待分数线。

需要USACO铜银金铂题组题库可以在文末领取哦~
扫码领取USACO备考资料
👇👇👇



 |