USACO竞赛难度怎么样?

USACO竞赛月赛没有固定的比赛地点,只要注册后在比赛时间进行做题即可。USACO在每年的四个周末举办他们主要的比赛,从周五到周一,在这个时间段内学生可以选择在任何时间开始比赛。通常来说每次竞赛的时间为4个小时,但有时候是3个小时或者5个小时。
据说4次考试中12月的考试是最容易的。每次考试连续考3小时,中间不暂停。一共考3道题,可以反复提交答案,提交后会知道多少testcase正确,但不能看到testcase。USACO 考到满分1000分可以当场晋级,其他人一周后会收到邀请。
我们以美国时间1月25日,2021年的第一场USACO竞赛为例,来分析下竞赛的难度。在四天的角逐中,总共有9569 个学生参加了这次竞赛,美国学生的参赛人数依然是最多的,达到了4662 人,中国学生人数排在第二位,共有1753人。

这次竞赛中,参加铜牌组的共有5400人,银牌组的4476人,金牌组的1078人,白金组的只有432人。可见,银牌组的竞赛是一道坎,过银牌组有资格参加金牌竞赛的人员数量急剧变少,到了白金级别就更少了。

身边的学生,大部分也都是参加铜牌和银牌组的竞赛,本次这两个级别的过线分数都是800 分,只要超过这个分数,就能成功的晋级。竞赛成绩公布后,有几位家长都在和我交流,说这次很顺利的通过了,并且身边也有一些同学顺利通过了,而这些学生在12月份的那次考试中,都是没能通过的,是不是一月份这次的题目更简单些呢?

我们就拿铜牌组的题目给大家剖析一下这次竞赛题目的几个特点:

题目非常灵活

一般铜牌组的第一道题目都是比较容易的,例如12月份的第一道题目,基本上就是送分题呀。但这次竞赛的第一道题目,竟然难倒了不少人。身边有一位能力不错的学生,后面两道题目只用了一个半小时就全部解决掉了,最后竟然卡在了第一道题目上,他把第一道题目想的无比复杂,最终完全把自己绕进去了,没能做出来,从而和晋级失之交臂。

这次铜牌组的第一题确实出的非常灵活,很多学生第一遍都没看懂题目,好不容易看懂题目后,觉得之前的算法好像都套不上去,一下就卡在那里了,其实如果能够稍微做一个模型变换,那题目就会变得非常简单。

着重考核问题分析的能力

第二道题目和第一题有所不同,粗看上去,感觉套用好几种算法都可以,例如模拟,贪心,枚举等都可以把题目做出来。但真正实现的时候,又会发现很多细节问题。这道题目特意给了一些具体的数字,但其实问题的求解,和具体数字没关系,而是和奇数,偶数的个数有关系,如果对问题分析到这一步,基本上都是能够解答出这道题目的。 所以这道题目的难点,是对问题本身的分析,很多学生总以为编程学习的是编写代码的能力,但在USACO竞赛中,分析问题才是核心能力。

迷惑性强

思考是一种很耗费体能的事情,所以人的大脑往往在找到一种解答方案后,就不愿意继续工作,寻找更好的方案了。这次竞赛的第三道题目,给人的第一印象就是使用深度优先搜索算法,直接计算出对应的结果。但由于这种算法复杂度太高,它并不能完美的解决这个问题,只能做对一半的题目。而这道题目的正确解法,则是需要通过数学的乘法原理对题目进行思考,从而给出一种效率非常高的计算方法。

从上面的分析大家可以看出,相比于12月份的比赛,我感觉1月份的题目会更难一些,但从身边学生通过率来看,又比12月份要高。这其中应该是两个因素提升了通过率:第一,很多学生12月份是第一次参加,难免会紧张一些,对考试流程都不熟悉。第二,在这一个多月时间中,不少同学都已经放假了,有更多的时间用来学习编程了,从而精进的比较快,也就能够顺利通过竞赛了。

所以,每次竞赛的题目难一点还是简单一些,并不是你是否能够通过竞赛的关键因素,毕竟每个级别的难度是有标准的,再难也不会超过那个标准,只要你能够多多练习,多多思考,不断精进,总是能成功晋级的!

新的竞赛即将来临,需要历年竞赛真题及解析的同学可以扫码免费领取~

翰林国际教育资讯二维码