22022-2023
赛程时间
第一场:Dec 16-Dec 19
第二场:Jan 27-Jan 30
第三场:Feb 24-Feb 27
第四场:Mar 24-Mar 272022-2023
USACO考级时间出来啦!
刚刚在官网上公布!和以往一样,四次在线竞赛,然后是训练营邀请赛,从训练营选拨出代表美国参加下一届国际信息学奥赛和欧洲女子奥赛队员。
USACO,全称为美国信息学奥林匹克竞赛,竞赛分为四级 (Bronze 铜, Silver银, Gold金, Platinum铂金)。USACO竞赛是完全免费的! 所有参与者都要经过一轮轮的不同等级赛题晋级。初次参赛的同学先参加 Bronze 级考级比赛,满分即可直接进入下一级题目,否则得等到本次比赛结束后,参加下一场考试,实力超强的同学可以一场比赛连续晋级。
USACO每次比赛持续四天,考试时间从周五到周一,连续考4小时,中间不能暂停。一共考3道题,可以反复提交答案,提交后会知道多少 Testcase正确,但不能看到 Testcase。
注册USACO也很简单,只需要在 www.usaco.org 注册一个免费账户,注册时你不需要选择特定的比赛日期。只要你有了这个账户,可以在比赛日期随时参与竞赛。已经注册的学生,在考试开放时间内登陆账号,即可进入比赛。USACO解题绝对不可以在网上复制代码!不能讨论,不要抄袭他人,一但发现永久封号!
USACO学生参赛流程
USACO Registration注册账号
1. 进入USACO官方网站
www.usaco.org。 点击网站右侧如下图所示选项,Register for New Account。
2. 填写个人信息
注册账号. 出现如下页面,填写个人相关信息:
3. 个人相关信息简介
Username 可以自己任意选取,用于登录网站,但不能和已有用户名相同;EmailAddress 可以用QQ邮箱等常见邮箱,用于接收登录密码; First / Given Name 如实填写名字即可,拼音或英文名,随意填写会导致无法获得比赛成绩; Last / Family Name 如实填写姓氏即可,拼音,随意填写会导致无法获得比赛成绩; School 如实填写即可,可不填;Graduation Year 如实填写即可,若填写年份在2020之前,最终成绩会出现在观察者名单里; Country 中国国籍填写CHN,美国填写USA,需大写,其它国籍类似;
4. 获取登录密码
填写完个人相关信息提交后,会发现没有登录密码。怎么办呢?往下看。 登录刚才注册时填写的邮箱,打开相应邮件,即可获取登录密码Password以及刚才填写的用户名Username。
注:需要在24小时内登录USACO官网激活账号。
5. 登录网站
回到网站首页,填写注册时输入的用户名Username和刚才获得的登录密码Password。
USACO 考前练习
1. 登陆USACO官网,可选择其它赛季的题目进行查看
1)点击CONTESTS
2)选择某一次比赛,如点击 2018 US Open Contest Results
3) 进入赛题页面,往下滑至 USACO 2018 US OPEN CONTEST, BRONZE
4)点击题目下的 Viewproblem 查看具体题目
2. 编写代码与提交
1)以Python为例(C++,JAVA可参考文件【USACO数据读写】),先用Python IDE 等软件编写代码注:不是在USACO官网上写代码,是自己先写好代码,然后上传代码。
2)在USACO官网对应题目下,选择Python3.4.0,上传代码文件并提交
3. 查看结果
1)提交完代码后,在试题题目上方会显示测试结果。
2)若结果是如上图的绿色,则为正确答案;若是红色的,则为错误答案。
注:每道题目有10到15组数据测试所提交的代码的正确性与通用性,测试数据会按照题目中的SAMPLE INPUT 的规则,在数据的数量、数据值的大小和数据特征上进行变化,故只有正确且通用的代码才能拿到高分。
3)若三道题目全都通过即满分,则会直接晋级到银级,在本次比赛中可以另选四小时完成银级题目;若银级题目满分,则会直接晋级到金级;依此类推
USACO 考试注意事项
1. 检查文件名是否符合递交要求
在下面的例子中,要确认文件名是cowsignal.in 和 cowsignal.out
2. 检查文件读取程序部分
要仔细检查程序输入读取的行数和每行的参数。在下面的例子中,程序第一行要读入3个参数,以后要循环读入5行,每行4个字符。读入过多过少,都有可能显示文件名不对的错误。
3. 检查链接的群和库,过多的链接会导致路径问题
在以下的例子中,java 程序引入了package zero, 完全没有必要,去掉引入,直接参照default package就可以了。python 和C++也有类似的问题。另外检查程序有没有运行死机,数组溢出等等。
USACO 参赛者
这个比赛对参赛者没有什么国籍要求,高中生都可以参加,只要在官网上注册成功即可。但是一定要有编程语言的基础。比赛可以接受的计算机语言有C++11, Java, C++, Python 3.4.0, Python 2.7.6。所以如果同学们对自己计算机语言有信心的和觉得自己的逻辑还不错的或理科思维比较好的,可以参加试试。
USACO 主要考核的是编程算法能力,以及分析问题。一共三题,时间充足。重点是把问题分析清楚,考虑完善以后再用程序来完成。考试时点击USACO考试链接马上计时开始。
做题时要先读懂题目,在纸上做出例题,再归类到课上练习过的类型,可以直接参考拷贝相似作业题的正确答案,修改后提交。注意考试时间,控制在一题60分钟之内,不要在一题上花太多时间。三道题1000分满分,做对两道半题750分一般可以晋级,850分可以确保通过。
USACO 非简单编程语言翻译,而是接受一个编程项目,独立思考相关知识点(数学逻辑、数据结构、算法、计算机体系结构、英语理解等),运用各种能力(计算思维、资料收集、刻意练习)设计并实现,验证正确性,反复迭代修正。整个流程在普通学制中难有训练机会,对于参赛选手独立解决问题的能力提升非常有帮助。