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月份是第一次参加,难免会紧张一些,对考试流程都不熟悉。第二,在这一个多月时间中,不
少同学都已经放假了,有更多的时间用来学习编程了,从而精进的比较快,也就能够顺利通过学术活动了。
所以,每次学术活动的题目难一点还是简单一些,并不是你是否能够通过学术活动的关键因素,毕竟每个级别的难度是有标准的,再难也不会超过那个标准,只要你能够多多练习,多多思考,不断精进,总是能成功晋级的!
© 2024. All Rights Reserved. 沪ICP备2023009024号-1