过去一周多的时间,相信大部分人都沉浸在春节的喜庆气氛中,但参加USACO 竞赛的小伙伴们,心情可能就没那么好了。很多学生向我反映说,感觉本赛季的这两次月赛题目都挺有难度的,题目的区分度也很高,常规算法只能得到一半的分数,必须要优化的算法才能获得满分,USACO 竞赛的题目风格怎么一下变了,难度突然就提升了呢?
从这两次的录取分数来看,题目确实变难了。往年的录取分数一般都是在800 分左右,而今年的两次竞赛,上一次的录取分数是700,而这一次的录取分数是750,相比于原来都有降低。大家可以算一下,USACO 每个级别都只有三道题目,总共 1000 分,也就是说,每道题目大概是333分左右,按照本次录取分数线750 分算,基本上就是做对两道题多一点就能晋级了,而原来可是需要做对两道半以上题目才有可能晋级。
从题目来看,今年所出题目的区分度更加明显,学生如果使用常规做法,基本上只能得到一半的分数,如果想要获取全部分数,就要对问题进行深入分析了。例如一月份铜牌组的第三道题目,对于刚学习铜牌组的学生来说,很容易想到使用枚举算法来做,这种算法是能够获得一半分数的。如果想要进一步获得另一半的分数,就需要对题目进行深入的分析,不能再使用枚举算法了,可以考虑使用贪心算法(需要通过数据总结规律),这样时间复杂性上才能满足题目的要求,最终完成所有的测试用例。所以大家可以看到,同一道题目,想要获得不同分数,需要学生掌握不同的思考能力和应用不同的算法,题目对学生是很有挑战性的。
12月份的第一道题目也是如此,非常有区分度。当使用最常规的做法时,可以通过一半左右的测试用例,进行了一定的优化后,可以通过大部分的测试用例,但如果想要通过所有的测试用例,必须要对问题进行深入的分析,通过数据查找规律,重新设计算法。
可以看到,USACO 竞赛在明确的释放出一个信号,那就是竞赛的考点不仅仅在于算法的应用了,它将更加关注学生发现规律的能力。也就是说,原来的竞赛题目,当你确定使用某种算法后,按照算法思路找到关键信息,一般就能完整的做出题目。但现在的竞赛题目中,总会留一道拓展题目,此题目按照常规做法只能获得一部分分数,想要获得满分,则需要学生具备更强的从数据中发现规律的能力。
这种出题的风格,很有点像数学中的压轴题目。一般压轴题目的最后一问一定是特别难的,对学生的能力要求很高。但这道压轴题目更多是为了进一步区分出学生的能力,而不是作为晋级的必备能力,原则上来说,如果能够把每个级别算法掌握好,那么按照常规算法思路,就能答对两道半的题目,这样已经可以确保顺利晋级了。
那么USACO为何在出题上要进行这样的改变?为何要进一步强化学生发现规律的能力?大家可以思考一下,其实很多科学上的突破,都是从现象中进行观察,然后猜测规律,最后验证规律的过程。发现规律的能力是创新的基础,我们所谓的高手,不就是能比其他人更快速的找到规律,验证规律,应用规律的人吗。
综上大家可以看到,USACO的题目是有一些改变,但对于大部分学生来说,掌握好对应级别的算法,还是能够很大概率上通过竞赛考核的。之所以很多学生感到难了,是因为USACO 加入了拓展题目,这道题目对于大部分学生来说是拿不到满分的。USACO竞赛应该是希望通过这类题目进一步激发学生发现规律的能力,那么对于想要满分通关的学生来说,在掌握好常规算法的同时,可以考虑针对性的提升这方面能力,从而在USACO竞赛中走的更远!