USACO计算机竞赛参赛指南!

美国USACO计算机竞赛是美国一项面向中学生的信息学竞赛,USACO极为重视对算法时间效率与优化水平的考察,很多试题必须要进行非常细致的优化才能够通过。相比其他学科竞赛,参加USACO至少有三次月赛和一次公开赛机会晋级,可最大程度、最低成本提升学术背景,对海外升学非常有帮助。

USACO竞赛报名方法

1、注册账号

登录USACO官网http://www.usaco.org/,

点击Register for New Account按钮,注册新账户。

USACO计算机竞赛参赛指南!

2、填写信息并激活账号

注册后填写个人信息:

USACO计算机竞赛参赛指南!

注册结束后,在绑定的邮件中查收自己的账号和默认密码。并如下图登陆官网(24小时内首次登陆方可激活,登录后可修改密码),并点击“Login”。

USACO计算机竞赛参赛指南! 3、开始比赛

然后就可以参加比赛啦!选手需要在比赛开放期间进入竞赛页面参与比赛如下图所示,点击“Start the Contest!”键即可开始比赛。选手的比赛用时就会立即倒计时,且无法暂停

USACO计算机竞赛参赛指南!

进入题目后,点击红框处选择Chinese(zh),可以切换题目语言为中文:

USACO计算机竞赛参赛指南!

4、提交答案

完成之后就可以提交啦!比赛时需要按要求在自己的编程环境(例如DEV-C++)中完成题目,并提交cpp文件。

比赛会在时限过后自动结束(如已经获得满分,则可以手动提前结束)只需在比赛结束前确保提交过已经完成的题目即可。

USACO竞赛级别划分

USACO竞赛有4个级别,铜级,银级,金级,白金级。每个级别代表不同的编程技能水平。新注册的选手从铜级开始,在规定的时间内完成3道题目,如果过关,可晋级到更高级别。

青铜级别

面向学生:首次参加USACO竞赛学生皆为青铜级。

难度等级:适用于刚学会编程的学生,但是除了排序和二进制搜索之类的基本概念之外,没有任何算法方面的培训。

白银级别

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

黄金级别

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

铂金级别

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

USACO竞赛备考建议

赛前准备:

准备一些模板,用于复制/粘贴,以读取输入和写入输出。准备一些常用算法的模板作为参考。使用你自己的模板,避免抄袭别人的模板! 在点击开始按钮之前,将 您的IDE或编程环境设置好。

竞赛调试:

在比赛中,程序可能会崩溃,产生错误的输出,因此,学生熟悉调试界面是至关重要的。由于错误往往是编译错误、崩溃、超时或错误的答案,学生可以使用这个大纲来开始调试。

竞赛编译:

如果学生找不到哪一行不能编译,试着使用二进制搜索方法删除代码部分。使用具有自动导入库的IDE,并熟悉自动完成的键盘快捷键。检查异常类型(空指针、除以0、无限递归、内存不足?)如果没有异常,尝试上传避免可能的错误的代码,并使用二进制搜索方法找出可能崩溃的代码区域。

竞赛超时:

注意数组实例化的问题。尽量在程序开始时就把所有东西实例化。试着计算运行了多少操作。如果有必要,可以使用变量。尝试用标准的预分配数组代替List或Map这样的数据结构。对于更高层次的问题,检查是否可以进行动态编程或记忆化。

竞赛复查:

检查你的代码与正确答案之间的间距和格式是否一致。检查整数溢出的情况。检查是否有NaN或未定义的整数运算。如果有时间,试着做你自己的自定义输入,并将输出与你的预期输出进行比较。你甚至可以比较作为中间计算的具体数值。

USACO竞赛辅导课程推荐

USACO重点考察学生的算法分析能力和代码编写能力。不管考察哪个能力,学生都要靠大量做题、经验总结、举一反三等等专业训练来达到。所以参加USACO竞赛,有针对性的刷题训练、USACO竞赛丰富的导师指导是非常重要的!

课程名称

班级人数

课时数

USACO竞赛铜升银

3-6人

30H

USACO竞赛银升金

3-6人

30H

USACO竞赛金升白金

3-6人

60H

USACO竞赛培训全程班

3-6人

60H

【竞赛报名/项目咨询请加微信:mollywei007】

上一篇

最受英本学生欢迎的专业、申录情况以及未来发展方向分析

下一篇

A-Level经济学什么?如何获得高分?

你也可能喜欢

  • 暂无相关文章!

评论已经被关闭。

插入图片
返回顶部