USACO竞赛算法竟然这么简单?USACO竞赛常用语言有哪些?有哪些备考资料参考?

 

作为初高中生都可以参加的计算机竞赛,USACO竞赛向来是CS专业方向申请er的首选!USACO竞赛比赛编程语言并没有具体限制,C、C++、Java 或 Python都可以选择。

USACO竞赛算法竟然这么简单?USACO竞赛常用语言必备知识点汇总!
USACO竞赛算法竟然这么简单?USACO竞赛常用语言必备知识点汇总!

USACO竞赛赛制

USACO竞赛介绍

⭐参赛对象:任意年级初高中生

⭐考试地点:线上比赛,个人参赛,通过登录USACO官网,在线提交代码

⭐比赛语言:C、C++、Java 或 Python

 

⭐参赛费用:比赛参与是完全免费的

⭐评分要求:a.代码运行正确性b.算法时间效率c.内存使用效率

⭐官网:http://www.usaco.org/

⭐USACO竞赛级别

*青铜

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

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

通过USACO青铜赛段的学生需要非常熟悉以下概念:

  • 变数
  • 循环
  • 有条件的
  • 功能/方法
  • 列表/数组
  • 套装
  • 字典/哈希图

*白银

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

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

通过USACO银级赛段的学生需要非常熟悉以下概念:

  • 图和树
  • 堆栈,队列和优先级队列
  • 二进制搜索
  • 深度优先搜索和宽度优先搜索
  • 充水
  • 滑动窗口
  • 前缀和

*黄金

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

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

通过USACO黄金级赛段的学生需要非常熟悉以下概念:

  • 动态编程
  • 最短路径算法
  • 最小生成树
  • 不相交集
  • 字符串算法
  • 几何算法
  • Dijkstra,Prim和Kruskal的算法
  • 二叉索引树

*铂金

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

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

USACO竞赛报名流程

USACO竞赛详细报名途径:

1️⃣ 考生直接登陆USACO官网http://www.usaco.org/右侧点击Register for New Account

USACO竞赛算法竟然这么简单?USACO竞赛常用语言必备知识点汇总!

2️⃣  填写个人信息进行注册

USACO竞赛算法竟然这么简单?USACO竞赛常用语言必备知识点汇总!

注意:密码将立即通过电子邮件发送给您(如果您没有立即看到它,请检查您的垃圾邮件文件夹)。您可以稍后通过编辑帐户详细信息来更改密码。

这里请输入您的真实姓名,虚假或不可接受的个人姓名将不会收到比赛结果,并可能随时被删除!

USACO竞赛含金量USACO是美国大学申请过程中非常有含金量和竞争力的一个STEM竞赛。USACO 还有一个更大的好处在

于,实用性很广,实战性很强

就算不参加奥林匹克比赛,USACO 也能够帮助孩子在最短的时间内,有效地提高和掌握电脑编程语言,增加计算机技能。对孩子将来的发展有更深远的影响和帮助。随着STEM教育的理念,及编程低龄化,普及化的发展,USACO的参赛人数和热度越来越高。

USACO题库

1. 登录USACO题库,注册新账户 USACO官网:http://www.usaco.org/

进入官网,点击TRAINING,点击“on-line training pages”,点击“Register here for a username/password”注册题库账号。

注意:官网账号无法通用题库,使用题库需新注册账号。

初次接触USACO竞赛,官方网站不会用的看这里!

2. 注册题库新账户

注册新账户时,用英文正确填写个人信息,*为必填项。验证码要求计算的是一元二次方程的正根,算出结果后填入正跟的数字即可。

初次接触USACO竞赛,官方网站不会用的看这里!

3. 登录题库新账户,使用题库

注册新账户后,根据系统发送至邮箱的UserName和Password登录题库。下图为题库主页面,中间的表格为题目。

题库共有6个Chapter,每一个Chapter中一般有4-5个Section,要将前一个Section中所有试题都通过才能进入下一个Section。

在Section的开头一般会有篇TEXT文章,然后有4-5道试题。PROB是需要做的题目。标题前会有标记和完成日期。

DONE表示已完成,VIEWED表示正在进行中,TODO表示还没有做。

初次接触USACO竞赛,官方网站不会用的看这里!

进入题目,进行在线做题,注意是写好代码以cpp文件提交。

初次接触USACO竞赛,官方网站不会用的看这里!

注意:程序的最开头需要加入三行。第一行是UserName,第二行是语言,第三行是题目名。

USACO如何比赛

在比赛开放期(注意中美时差)期间,进入竞赛页面开始比赛。

如下图所示,点击下方的“Start the Contest!”即可开始比赛。

意:一旦点击该按键,选手的比赛用时就会立即倒计时,且无法暂停

初次接触USACO竞赛,官方网站不会用的看这里!
初次接触USACO竞赛,官方网站不会用的看这里!

进入题目后,点击语言栏选择Chinese(zh),可以切换题目语言为中文。

初次接触USACO竞赛,官方网站不会用的看这里!

比赛流程与真题训练过程相同,按照要求在规定的时间内查看和解决3个编程问题。比赛完成后会自动结束(如已经获得满分,则可以手动提前结束),只需在比赛结束前确保提交过已经完成的题目即可。

USACO结果及数据查询

代码提交后,系统会自动给出评分,如果拿到了满分,系统会提示直接晋级。

如果没有拿到满分,需要等待官方公布晋级分数线,每场月赛结束后1-2天,官方会通过电子邮箱发放参赛选手的程序的评测结果。成功晋级就可以在下一场月赛中参加更高级别的竞赛,没有成功晋级只能在下一场月赛中继续在原组别中打比赛。

同时进入官网,点击Contests,在相应的页面上可以找到比赛的最终结果总结、测试数据、题目解析、比赛的简要分析及参赛选手的成绩统计。

扫码添加客服免费领取

 历年真题+测试题大合集超详细

长按图片即可添加客服

 历年真题+测试题大合集超详细

长按图片即可添加客服

Scroll to Top