USACO第二轮月赛即将来临,考前突击技巧了解一下?

USACO美国计算机奥林匹克活动第一轮月赛已结束!第二轮月赛即将来临!计算机爱好者们都准备好了吗?对于参赛还有些疑问的同学,这篇考前突击要仔细看了!

2021-2022 USACO赛事时间:

 

第一场月赛:12月17日-12月20日

第二场月赛:1月28日-1月31日

第三场月赛:2月25日-2月28日

公开赛:3月25日-3月28日

到了这个阶段,再盲目的去刷题已经意义不大了。已经学习过的算法,可以简单的浏览一遍。而最近几年的题目,相信学生们应该也已经早就做过了,如果真的竟然还没有做过,那赶紧刷一遍,还是有意义的。对于已经学习完当前级别算法,并已经刷过了最近几年真题的同学来说,在这一周时间内,我倒是建议可以从两个方面针对性的查漏补缺一下。

USACO考核的核心能力主要是两个:一个是问题分析的能力;另外一个就是代码编写的能力。

前者重点考核学生是否能够根据题目给出的数据和条件,找到蛛丝马迹,然后和算法关联起来,使用算法一步步解题。后者则是能通过代码来表达算法思维,把算法精准的编写成代码,让计算机按照既定算法工作。所以最后一周的突击练习,也应该围绕这两个方面进行开展。题目可以就选历年真题,即使这些题目曾经做过也不要紧,因为本来就是使用这些真题来训练解题的感觉。

看到题目后,不要翻看之前的代码,重点是把问题的所有已知数据,条件和求解数据都罗列出来,然后思考这些信息之间的关联,并考虑应该使用什么样的算法来解决这道问题,以及为何要使用此算法来解决该问题?

1.事实上,每种算法都有其使用场景,当能够分析清楚题目中给定的信息后,一般就能锁定在几种算法之内。例如题目的求解数据,如果能够直接通过已知数据和条件推导出来,那么一般都是使用模拟算法。如果求解数据无法直接推导出来,而是需要根据求解数据的范围进行假设设定,那么这类问题很可能就是枚举算法。也就是说,通过这样的分析训练,尽量构建和总结一种题目信息到算法的映射关系,这样参加竞赛时,就容易根据题目快速确定对应的算法。

2.对于有些题目,算法的实现上会比较复杂,这种题目是值得重新实现一遍代码,加强自身的代码能力的。铜牌组的代码实现一般都不太复杂,但是银组及以上级别的题目,代码实现还是有一定难度的,很多代码还有一些技巧性。找几道曾经无法独立完成代码的题目,尝试根据算法思路再完整的编写一遍代码,这个过程能有效提升代码能力。很多学生对于代码总停留在理解层面,觉得看了答案的代码,已经能够完全理解了,但是理解和自己能够编写出来是两回事。都说好记性不如烂笔头,应用在代码编写上也是适用的,独立的编写一遍后会形成更深刻的记忆和理解。

以上的这两种训练方式,学生可以根据自己当前水平进行针对性训练。如果你平时做题的时候常常缺少思路,那么就用第一种方式建立题目与算法的关联,如果是代码编写上存在问题,则使用第二种方法,好好找一些曾经做过的难题,再独立编写一下。

决战USACO,刷题资料必不可少,扫码咨询

【免费领取】历年真题及解析,考前冲刺,名师讲解,专业答疑!

● 版权声明:内容大部分源于网络,版权归作者所有,如有侵犯权益,请私信处理。

翰林国际教育资讯二维码