对于想要本科留学的中学生来说,以参加科研、独立完成论文的方式来提升学术背景是具有较高难度的,
此时,中学生竞赛就显示出思维培养、校内延申、周期较短、含金量较高等优势。
本期竞赛——USACO
竞赛简介
USA Computing Olympia
美国计算机奥林匹克竞赛
简称USACO
USACO,是由美国官方举办的中学生计算机编程与算法线上比赛,也是誉满全美的中学生计算机编程竞赛。USACO于1992年首次举办,旨在为每年夏季举办的国际信息学奥林匹克竞赛(IOI)选拔美国队队员,经过多年发展已经成为全球热门的线上赛事,是含金量相当高的官方竞赛。
全球的参赛者都可以通过参加网上竞赛,晋级青铜级、白银级、黄金级和白金级四个等级。四个级别难度依次递增,完成一个组别挑战后才能参与下一个组别。新注册的参赛选手需要从最低组别开始打起。
竞赛官网:
http://www.usaco.org
参赛要求
参赛对象:
高中生以下年级,无国籍要求,有一定编程语言基础
参赛语言:
C++11,Java, C++, Python 3.4.0, Python 2.7.6, C, Pascal
竞赛时长:
常规比赛为4小时,美国公开赛为5小时
竞赛内容:
每场竞赛包含三个问题,根据一组学生看不到的预定测试案例对解决方案进行评估和评分。评分满分1000分,每道题权重相等约333分。
2020-2021竞赛日程:
第一场:2020年12月18-21日
第二场:2021年1月22-25日
第三场:2021年2月26-3月1日
第四场美国公开赛:2021年4月2-5日
(集训营:2021年5月
IOI 2021:2021年6月20-27日,新加坡)
报名网址:
http://www.usaco.org/inex.php?page=register
(注册界面)
晋级说明
个人挑战赛
每场比赛4-5个小时,可以在比赛规定时间开始后登陆USACO账号,从在线打开试题后开始计时。
一套试题中有三道题。选手需要在时间结束前通过网络将写好的程序提交。程序提交后官网会给出用test case检测程序的结果,并根据结果给出这一题的得分。
可以使用C++、Java、Python、Pascal和C语言中的任意一种进行编程。比赛对于程序的大小、运行需要的内存以及运行的时间都有一些具体规定。
升级规则
每次比赛,实力强的选手可以连续升级。在比赛窗口开放的三天时间内,选手可以选择任意时间开始比赛。开始比赛4小时内,如果拿到了高分(接近满分或满分),系统会提示直接晋级,可以在这三天内继续挑战下一级,只要实力足够,一场考试可以升到满级白金级。没能拿到满分的选手需要等到三天的赛程结束后,等待晋级分数线,才能决定是否晋级,如果成功晋级,可以在一个月后的第二场继续参赛晋级。
公开赛
每届第一场开赛时间是在12月左右。只要在前三场比赛中升到白金级别就可以参加全美公开赛。
竞赛真题示例
级别对比
青铜
参赛资格:
一进入USACO注册账号即为青铜级。
难度等级:
青铜级考试只要基本编程常识,需掌握至少一种编程语言。
青铜级的编程时间较为充裕,大部分初次参赛的选手都能在第一次考试中晋级白银级。
白银
参赛资格:
通过青铜级比赛的选手。
难度等级:
需要基本的问题解决能力和简单算法(例如:贪心算法、递归搜索等),还需了解基础数据结构。从白银级开始,选手需要寻找更好的算法才能使程序在规定时间内跑完。
黄金
参赛资格:
通过白银级比赛的选手。
难度等级:
需要有一定的算法基础,理解一些抽象的方法(例:最短路径,动态规划),并且对数据结构有比较深的了解。
白金
参赛资格:
通过黄金级比赛的选手。
难度等级:
需要有很高的编程基础,对算法有深入的了解。部分比赛问题最后的优化方案,可能不只一个,得出的答案也不只一个。