赛事简介
USACO全称USA Computing Olympiad,美国信息学奥林匹克竞赛。于1992年首次举办,距今已有30年的历史,是最负盛名的国际计算机竞赛之一。其官网是美国一个著名在线题库,更是美国中学生的官方竞赛网站,开设目的是为每年夏季举办的国际信息学奥林匹克竞赛(IOI)选拔美国队队员。
USACO面向全球信息学爱好者免费开放,想参加的同学只要注册好账号在规定时间完成比赛即可。USACO竞赛要求选手使用C、C++、Java、Pascal和Python这5种编程语言中的一种,编写解决题目问题的计算机程序。
赛事规则
1)适合对象:
任意年级初高中生
2)考试地点:
线上比赛,个人参赛,通过登录USACO官网,在线提交代码
3)比赛语言:
支持Java、Python、Pascal、C和C++,考生在考试时选择任意语言参加即可!
4)参赛费用:
比赛参与是免费的
5)评分要求:
代码运行正确性、算法时间效率、内存使用效率
6)竞赛计分:
青铜、白银、黄金、铂金级别比赛都是3道题,总分1000分。每道题333.3分。每道题有10个测试点,通过一个可得33.33分。
赛事级别
USACO竞赛分为铜组、银组、金组和白金组四个级别。
1)青铜组:适合了解编程基础并具有较强解决问题能力的选手。
2)银牌组:要求掌握数据结构和算法基础。
3)金奖组:适合了解主要算法和一些高级数据结构,并具有较强数学背景的选手。
4)白金组:要求初步掌握高级数据结构和算法。在这一组别中,一个问题通常需要不同算法,并进行几层优化。全国每年约有200名白金选手。
考察内容
1)青铜参赛资格:
参赛要求:一进入USACO注册账号只能参加铜级。
需要考核知识:基础数组,多重循环,复合判断,枚举算法
2)白银参赛资格:
参赛要求:通过青铜级比赛的选手
需要考核知识:基本数据结构,递归,递推等基本算法
3)黄金参赛资格:参赛要求:通过白银级比赛的选手
需要考核知识:堆,栈,树,链表等高级数据结构,动态规划等高级算法,算法时间和空间复杂度
4)白金参赛资格:
参赛要求:通过黄金级比赛的选手。
需要考核知识:各类高级的数据结构,需要注意算法的时间和空间复杂度
晋级规则
1)USACO在每年12月-次年3月,每个赛季有4场比赛. 12月月赛, 1月月赛, 2月月赛, 3月公开赛。青铜、白银、黄金、铂金逐级进阶。
2)USACO前3场晋级赛每场4个小时,US Open 5个小时。USACO每次比赛持续四天,考试时间从周五到周一,学生须在连续的4小时内参加考试,中间不能暂停。可以在比赛规定时间内使用USACO账号登陆,在线打开赛题后开始计时。选手需要在时间结束前通过网络将写好的程序提交。
3)每场比赛达到一定分数,一般是满分,可直接晋级到下个级别继续参赛。因此理论上,咱们同学如果实力足够强,即使到了12 年级开始参赛,在12月赛中也有可能从铜级一直晋升到铂金级。没能拿到满分的选手需要等到三天的赛程结束后,等待晋级分数线,才能决定是否晋级,如果成功晋级,可以在一个月后的第二场继续参赛晋级。一般750分及以上可以晋级。
参赛流程
1. 登录USACO官网,注册新账号
2.注册新账号
注册新账号时,用英文正确填写个人信息:昵称、邮箱、名、姓氏、所在中学、高中毕业年份、国籍(中国填写CHN)。
3. 查收并激活账号
邮件查收自己的账号密码,并登陆官网(24小时内首次登陆方可激活,登录后可修改密码)。
4. 在比赛开放期内,进入竞赛页面
“Start the Contest!”一旦被点击,选手的比赛用时就会立即倒计时,且无法暂停。
5. 在比赛时间内,依次解题
比赛不一定会提供中文题面,最好自备翻译软件!
注:USACO允许选手在比赛时间内多次提交自己的程序,最终评测和排名以最后一次提交的程序为依据。选手提交程序时应正确选择自己所使用的编程语言。
但是要着重注意!!学术规范,不能团队做题、不能请教他人、不能查阅书籍、不能借助AI、不能使用自己以前的代码、不能在比赛期间在线讨论或公开自己的代码,也不能注册“小号”……总之,务必独立解题、临场发挥,否则会被禁赛!
赛事官网
比赛官网:http://www.usaco.org/