USACO美国计算机奥林匹克活动
本周开赛!
计算机爱好者们都准备好了吗?
对于参赛还有些疑问的同学,这篇要仔细看了!
2021-2022 USACO赛事时间
第一场月赛:12月17日-12月20日
第二场月赛:1月28日-1月31日
第三场月赛:2月25日-2月28日
公开赛:3月25日-3月28日
如何参加USACO?
USACO美国计算机奥林匹克活动已有29年历史,是美国极具认可度的计算机赛事,其官网为美国有名的在线题库,更是美国中学生的官方赛事网站。
任意年级中学生可参加,12年级学生也可以把握住12月月赛,将会是RD申请前的一次背景提升机会。可以使用C/C++,Java,Python,Pascal任意一种编程语言。
USACO不用提前报名,只需要在官网注册账号即可。到了活动窗口开放的时间,直接登录账号就能开始参赛。
⏩ 账号注册流程:
打开USACO官网(www.usaco.org),在右上角区域登录/注册。
新注册用户填写一些基本信息,提交后邮箱会收到一封账号创建的邮件,内含用户名和密码,24小时内使用此账号和密码登陆激活,之后可以自行修改密码。
在活动窗口开放的三天时间内,选择任意时间开始做题,解决方案若拿到高分可直接晋级。每场比赛4-5个小时,在线打开试题后开始计时。
其他选手需要等3天赛程结束后,根据分数线决定是否晋级。
如何提交代码?
每个级别的同学都有三道题目,点开题目界面,可以切换中英文显示,不过如果有能力还是尽量看英文原题,避免一些理解偏差。
提交代码时,在页面底部选择编程语言并提交代码文件。
代码提交后,如果程序运行正确,在题目页面的上方会出现绿色的标识,每个绿色框表示一个测试用例,一般每道题目会有10个测试样题。
如果题目错误了,会出现红色提示框,主要包括以下几种错误:
T:表示时间复杂性不能满足题目要求。
X:表示答案错误。
!:表示程序运行时错误,或者内存溢出。
如果程序编译的时候出现错误,则提交后会直接显示具体的编译错误。
如何调试代码?
如何能够快速的定位自己编写代码时的错误,并且做出修改呢?
一般可以通过以下3种方式来调试代码:
◾ 单步调试
很多开发环境都支持单步调试工具,单步调试就是让程序一步步执行,在此过程中,确认代码执行的顺序和变量保存的数值是否符合预期。
◾ 状态打印
把一些关键变量的状态打印出来,判断这些数据与预期状态是否一致,从而能够快速的定位问题所在。
◾ 崩溃调试
如果程序运行某些数据时导致崩溃,可以尝试把一段段代码注释起来后运行,从而快速定位哪段代码会引起程序崩溃,仔细检查找出错误。
如何高效答题?
活动开始后,每个级别有三道题目,四个小时时间,因此每道题目可以分配一小时二十分钟,不用过于着急。
开始编码前可以花30分钟时间审题和分析题目。只要思路正确,编码一般不会耗费太多时间。如题目没有分析清楚,代码只能通过一半的测试数据,还要重新去分析题目、检查代码,非常麻烦。
掌握正确的答题步骤,高效参赛,避免手忙脚乱!
◾ 审题
了解已知,未知,处理过程分别是什么。USACO题目一般都很长,认真审题并通过样例数据来验证自己对题目的理解。
◾ 分析
分析题目给出的数据,看看如何才能通过已知数据和处理规则,得到最终的答案。分析问题的过程其实就是找规律,多在纸上演算一下样例数据,从数据的每一步变化中找到规律。
◾ 编码
题目分析清楚后开始进行编码,编码时要足够的细心,尽量使用自己熟悉的函数和数据结构,避免低级错误。
可能一条语句的错误,就会导致整个结果有问题,而这些低级错误往往不容易查找,因此编码时足够专注,认真的把思考分析的过程转换成代码。
◾ 提交和总结
面对未知的数据,代码不一定能够全部通过。
这个时候就需要认真反思,看看针对一些边界条件是否有问题、代码是否完整的体现了分析过程……
如果确认代码没问题,可以进一步审题,看看针对问题的分析和理解上是否存在问题,通过彻底排查尽快找到问题所在。
当然还是祝福同学们的能一次性通关!
我们之前和大家分析过USACO上个赛季的数据,各级别难度有波动,因此建议同学们尽量参与全程的每一场月赛!
圣诞和寒假假期将至,
翰林为大家准备了USACO冲刺课程,
助力你的每一场挑战!
计算机班课
课程 | 班型 | 课时 | 开课时间 |
USACO银级圣诞冲刺班(C++) | 3-8人 | 30h | 12月20日开课 |
USACO金级圣诞冲刺班(C++) | 3-8人 | 36h | 12月20日开课 |
USACO金级刷题班(C++) | 3-8人 | 24h | 1月21日开课 |
USACO银级冲刺班(C++) | 3-8人 | 30h | 1月1日开课 1月21日开课 |
USACO铜级冲刺班(C++) | 3-8人 | 30h | 1月21日开课 |
USACO铜级全程班(Python) | 3-8人 | 40h | 12月开课 |
USACO铜级全程班 | 3-8人 | 40h | 12月下旬开课 |
USACO铜级全程班(Java) | 3-8人 | 40h | 12月开课 |
*以上部分班课可接受插班生
*更多班课信息可添加二维码一对一咨询
了解更多活动信息,
扫码添加顾问老师,一对一咨询!
我要咨询
本期福利
计算机参考书
(部分福利预览)
领取方式
关注+星标【翰林课程】公众号
后台回复关键词
“冲刺CS”
即可获取免费领取福利方式
翰林课程体验,退费流程快速投诉邮箱: yuxi@linstitute.net 沪ICP备2023009024号-1