2018天梯赛和蓝桥杯比赛心得

 先说一下比赛这个日期的事情吧,今年天梯赛3月31日,蓝桥杯4月1日。比赛日期相差一天,给我最深印象的不是比赛,而是这个紧挨相邻的日期造就的我们两天大部分时间在车上的奔波。


周六,也就是3月31日,早八点做了接近三个小时的车从平顶山到郑州轻工业学院,参加天梯赛,急急忙忙报完道,领完牌子,吃完饭,就开始比赛,比赛到四点,然后又坐了接近三个小时的车从郑州回平顶山,原因是我们需要回去接那些不参加天梯赛但是需要去南阳参加蓝桥杯的同学,大概6点50我们回到学校,老师给出十几分钟的休整时间,晚七点多一点,启程去南阳,又是几个小时的车程,到达酒店已经快10点了。到达酒店,本来想看一下手机上缓存的电视剧,结果困得刚看手机就视疲劳了。第二天比完赛,下午两点又启程回平顶山。短短两天:平顶山->郑州->平顶山->南阳->平顶山。行程真的超紧。晚饭都是在车上解决。


所以这样紧张的行程真的让我难忘,现在可以来聊聊比赛了,天梯赛,我们双非学校参加的是华山论剑,相比来说,看大多数人的成绩今年肯定是比去年要难点的,出题人的心机也是很深,把level1的压轴题放在第一道,而且该题意思简单,但是模拟起来不是那么容易,而且该题20分,也就是说不做该题,其他题必须全部AC才能达到Level1要求的人均80分,从此可以看出第一题不可绕过。所以我先把其他80分的题目AC了,然后开始做第一题,其中出现了一些错误,找了好久,耗费大量时间幸运的是提交一次AC,然后开始level2,写以第一题,写了半天,但是错了。我决定先看一下第二题,发现可以写,写了之后提交得了22分,时间有限,我也不想再去扣那三分,因为写第一题耗费了时间,所以写完第二题比赛只剩十分钟了,我看了第三题,发现第三题比第二题还简单,我就赶快写,因为快没时间了,我很紧张,敲代码的手都是抖的,最后30秒,手非常抖的连提交的框都点不住,但是还是提交了,由于比赛快结束大家都抱着搏一把的思想疯狂提交,我连点三次提交,代码都显示正在测试而不出测试结果,最后比赛结束了,第三题没交上,可惜了。最后我就打了122,呵呵,失望,很低的一个分数。去年我是level2做了3道,虽然我也告诉自己这是因为level1压轴题更难了,可是看到好多学校都有人打二百多分,真的觉得自己很low。此次比赛我既有做得好的地方,也有自己从根本上很执拗的地方。我是一个什么样的人,典型的执拗,平时我做比赛,如果我认为我有想法,但是没有提交错误的题目,我死都不会放过,哪怕后面又更简单的题,我也没心情做,因为我就想知道我哪里错了,我在乎真相。我会气愤的想去扒后台的测试数据,想知道我到底哪错了。直到计蒜客的蓝桥杯的模拟赛我还保持着这样的执拗,一些题目可以暴力过一些测试数据,可是我就是在哪里冥思苦想到底。当然我的这种执拗会遭到老师的批评,因为对于天梯和蓝桥这样的比赛,我的策略无疑是有问题的,这种比赛都是得一分就算一分的。所以天梯赛我没有吊死在一个题目上的蠢行为,也没有按顺序做的行为,我错在最后10分钟还是不能抑制住自己的紧张,要是能冷静下来,手不要抖,还能再多点分数。当然这也是我策略的问题,都是中文题目,我的确应该把题都打开审一遍,看一遍的话只需要一两分钟,先写简单题,把能得的分得到这才是比赛该有的行为,至少在比赛中,我的许多习惯还是必须改。


再说一下蓝桥杯吧,今年蓝桥杯我们学校给学生报的都是C/C++B组的。首先填空题,除了最后一道填空题,其他题比去年简单,然后代码填空,和往年相同的套路,编程题是五道,好像比去年多了一道。比赛完,就和平时考试一样,没遇到同学前觉得自己做的还行啊今年,至少比去年的感觉好许多,接着就是每次考完试最烦的环节了,对答案,大佬们就开始疯狂讨论对答案,真的崩溃,对完答案,我觉得应该有一首凉凉送给自己。我就默默的伤心上车,不再听同学的讨论,也不再看各大ACM群里面讨论的信息。

先说填空题吧,第一道,简单的闰年判断,手算即可。第二题,快速编程打出文字,屏幕上赫然几个大字:九的九次方是多少?。我可怜的学弟在做的时候,打出题意后,难掩激动,9的9次方随手就填了个81上去,出来笑哭我们了。第三题若干数相乘后末尾0个数,在计蒜客参加蓝桥杯模拟赛的时候刚好做了这个题目,成功求解。然后到了摔手机题目,抱歉,看到该题我也激动了一波,没看清题手机只有三个,想着就是个2分,直接写10就做下一个题目了。比赛结束后,队友问我,那个摔手机说有三个手机是什么意思,我一脸懵逼,我说三个手机,什么三个手机?队友说就是说只有三个手机,我去,我根本没看到三个手机。然后网上流传的答案有好几版,最后物联网的同学说,是一个公司的面试题,还把链接给了我们。反正我直到我这个题铁定不对,比赛要结束的时候,我旁边的男生不会写这个题目还问我答案,我就给他说了10,忽然觉得坑人家了。


然后就是代码填空,今年就一道,比赛前又看过8大排序算法的我,觉得这个填空没什么难度。


下来是编程题。第一个题目,比赛完和别人讨论,我觉得我比赛的时候脑子肯定不够数,才会写那么复杂的代码,由于写线段树的题目写多了,我这个题目居然用线段树写,一颗线段树维护数组A,一颗线段树维护数组C,然后枚举数组B的元素,找第一颗线段树比当前元素小的元素个数,找第二颗线段树比当前元素大的个数。当时时间复杂度n*log(n)。肯定妥妥能过。比赛完以讨论大家说你怎么用线段树写,一个STL的lower_bound就能解决的。额,我觉得自己蠢爆了。线段树的代码敲起来会比较长,浪费一定的时间。我咋没想到用lower_bound,老是想线段树。


坐标系那个题目,不想说了,我最不擅长的就是找规律了,所以我没写这个题目。

接下来我写了海洋岛屿那个题目,简单的广搜,快速搞定。

然后看热帖那个题目,暂时没有什么好方法。隔过去了。

然后我写的第三道题是最后一题,模拟题目,但是情况真的不是一般的多,我写了一个小时,测了些数据都过了,我就又去写帖子的题目,当然花一个小时写最后一个题,我现在就剩十几分钟,决定写热帖这个题目,暴力写一下,可以过一些数据,然后帖子这个题目交了,剩余坐标系那个题目,我也没时间写了,我实在不擅长找规律,我感觉我的思维盲区就是在找规律,每次遇到找规律的题目我都没辙,感觉脑子就缺这跟筋。


一次次的比赛总结出了一些经验:

1.做题策略很重要,不要总卡在一个题目上,尤其是你还有其他题可做的情况,千万别吊死在一个题目上,出现卡的情况,能搞出来固然好,但是要是搞不出来,就会特惨。

2.沉着冷静,不能太紧张,越是在千钧一发的时候,越是要冷静,其实任何人都会紧张,但不是每个人都有克服紧张心理的能力,而做算法竞技的需要这样的能力。

3.大佬打分那么高,不是没有原因的,他们通常思维活跃并且比我们努力的多,所以一定要努力训练,只有提高自身实力,才能在竞赛中立于不败之地。


接下来就要备战ACM省赛了,希望能有个圆满的结局。


你可能感兴趣的:(ACM_比赛心得)