截至本周二晚,USACO计算机编程竞赛第一轮考试已结束,满分同学会当场晋级, 没有当场晋级的同学可以耐心等待一周之内出成绩。不少同学会觉得相比以往,本次铜级可谓难出天际了,上个赛季各个级别难度已经往上拉了一波,这个赛季作为入门级的铜级还是继续在往上拉难度。我们来看看详情。
2022-2023赛季usaco竞赛第一轮比赛分析
NO.1
第一道题目,这道题目大部分学生看完后都是有思路的,但是真正在做的时候,很可能只能通过一半的数据。为什么会这样呢?现在的铜组题目对算法复杂性也有了更高的要求,早几年的题目中,给出的数据范围都比较少,现在的数据范围动不动就是$10^5$,所以简单无脑的按照常规算法把代码写出来,是肯定无法通过全部数据的。
在之前的铜组题目中,大部分时候第一道题目就是送分的,但这次的第一道题目并不是送分题,它是一个枚举算法,学生只有懂得灵活运用枚举算法才能做出来,其次就是在枚举算法基础上,还要考虑到时间复杂性,要进行一个排序优化,才能完美的解决问题。相比于后面的两道题目,这道题目已经算是最简单的了,但即使是本次最简单的一道题目,也有这么多需要考虑的地方。对于很多考虑不够全面的学生,这道题目很可能就无法完美解决了。
NO.2
第二道题目是一道典型的贪心算法。这两年的题目难度提升的一个表现,就是贪心算法考的比较多了。贪心是比较难的一种算法,核心就是要找到贪心策略,而这种贪心策略因题目而不同。对于这道题目来说,如果学生无法坚定的想到应该使用贪心,并且静下心来考虑贪心策略的话,那么做起来就会比较困难。这道题目的答案可能是多种多样的,不是固定答案,应用其他算法很难进行解答。所以对于这道题目的解答,就只有非黑即白的两种结果,要不就是想到了贪心策略然后很快做出来了。要不就是想不到使用贪心算法,或者想不出贪心策略,完全没有办法求解。基本上不存在只做对一部分数据的情况。
NO.3 第三道题目比较难,可以算是一道模拟算法的题目,但是模拟的这个过程比较难。想要做对这道题目,需要有两个前提。第一个前提是学生真的对题目彻底理解,并且分析透彻了。看过这道题目的学生都有感受,他的描述比较复杂,而且逻辑上比较绕,能够真的理解这道题目的约束条件,在条件之下充分考虑各种可能性,这个对学生的理解力是很有要求的。当模拟的过程非常清晰之后,第二个难点就是代码编写,这道题目的代码是有一些难度的。对于代码编写能力没有那么强的学生来说,这道题目就是灾难,总感觉自己明明理解,但就是无法完整的编写出来。
我们来看看usaco铜组第3题原题,感受一下今年的难度:
对于准备出国留学,打算申请理工科,尤其是计算机/编程方向的孩子来说,USACO不仅培养学生的算法及应用和编程思维,成绩含金量也不言而喻,获得黄金级、白金级的参赛者将大大增加被藤校录取的概率!
USACO不仅在美国大学中认可度高,在美国国内参与度广,而且在全球也具有比较广泛的参与度。上赛季首场比赛参赛人数达到10752人,同比增长了40%!在MIT(麻省理工学院)本科招生官网中,可以赫然看到USACO是被“点名”推荐的课外活动。
所以,能在USACO竞赛中取得一定成绩的学生,绝对是妥妥的背景提升!