总结—第一次参加蓝桥杯竞赛

  • Post author:
  • Post category:其他



第一次蓝桥杯经验总结:


2019年3月24日这一天,我第一次参加了较为正式的线下赛–蓝桥杯,参赛地点再长沙理工大学,第一次参赛,没有任何经验,而且才刚步入大一半学期,知识储备也很少,这次比赛我是抱着开眼界,试试水的心态来参加的,但在赛前还是有刷题的,然后在正式比赛的时候看到题目的时候还是跟平常刷题一样的去写的,这一次的比赛的题目说简单不简单说难不算很难,有一部分是可以水出来的题目,但由于水平不到位可能写的代码还是很杂乱,并没有做到精简,而且这之后看了许多大佬的代码,代码内容非常的简洁好看,并且实用,我不禁思考到底是什么地方造成了这种差距,其一是刷题数,在阅历上,我还是太年轻,见过的题型太少太少,能写出的模板很有限,也就是解决问题的方法被限制住了,只能用复杂的代码去解一些比较简单的题型,做不到快,简洁。其二是思维方式,看问题的起点跟别人不同,和大佬看题目的角度完全是两个角度,细节,大局处理都没有做到很好,因为懂的知识实在太少,在思维方式上很难打开,不能用有效的思考方式换来精准简洁的代码,这一点很致命,因为问题的出发点决定了你写这道题的时间和方式,如果写到最后发现根本行不通,重头再来舍不得打了半天的原码,又找不到新的出发点,就会形成一个死循环,消耗大量时间,然后随着时间推移,心态会受到严重的打击,导致最后放弃写了半天的题目,虽然这一次我没有发生这种问题,但我自己都可以很明显的看出,我的思维方式太死板了!逻辑是通了,但是没有更好的捷径去实现这个逻辑,一但认定,就不去想更好的办法了,这是我的一个缺点,在学算法的后期,是要不断思考新的,更加有效的算法代码的,如果不能做到不断更新自己的思维方式,后面是很难发展的,也很难进步,目前针对这个问题我的唯一解决方法就是多看书,多去看别人的代码,学学别人的思维方式,在不断的积累中一定能够获得全新的东西,思维方式也会和现在大大不同。其三的概念的东西,比如我可能对C或C++的代码使用比较了解了,但是对一些更深层次的东西就不是很理解,并不知道这些代码的运作原理和机制,就举个例,我拿两个变量互相转换类型灵活使用,一般不出意外就会编译错误,然后出现一大堆看不懂的英文报错,翻译了也看不懂,说明我对这些函数的源码并不是很了解,无法真正做的灵活运用,导致一些时候被迫中断写题时候的逻辑,因为根本不知道是哪里出错了,也根本不知道为什么错的地方会错,明明逻辑是对的,还有就是数论,比如一些题要用到欧几里得公式还有拓展欧几里得公式或者是欧布定理等各种有名的大公式,我却看不出来这道题要用到这些公式,然后一看大佬的解题思路,每个大佬的第一句话基本都是说这是XX公式的裸题啊!是XX算法的裸题啊!…对于这些能一眼看出来的深感佩服,遇到过的题目的数量完全不是一个级别的,然后后面学会看大概题型后,有一些题目我也慢慢能一眼看出是什么类型了,就比如这次第五题迷宫我很轻松就看出这是一道必须用BFS并且不能用DFS(会超时)的题,这也是我有小小进步的一个地方,如果跟数学有关,我会先把它的相关未知数用x,y这类解方程一样的列出来,然后再来看看列出来的公式是否是某一种数论的裸型,这样就可以有效找到解决方法,刚好这次比赛就有个这种题,就是求等差数列,我看到这种题肯定就是求公差啊,然后循环找最短数列,再找一些特殊情况做实验,然而一看大佬的解释又直接给我上了一课:公差应该是排序之后求出所有相邻数字之间差值的最大公约数。这个东西说真的,就算我高中学过等差数列,我是真的真的没有这个概念,也可能是我上课没听讲,然而大佬知道,顺其自然的就用了gcd函数,然后很容易就可以找到公差,复杂度也小了很多,只能说明我的这些数论啊,数据结构的概念还是太模糊了,没有做到深层次的了解,所以这也是我要尽快增强的一个方面。


总而言之,需要增强的方面很多,这次蓝桥杯确实也给我开了眼界,然后也有些要分享的小经验,主要就是多看不同类型的题型,而且一定要记住,其次就是参加大赛时一定要保持平常心,不然会自乱阵脚,不要被比赛的正规模式吓住了,最重要的就是多看书了解更深层次的东西,才能从根本上进步。

转载于:https://www.cnblogs.com/xiangqi/p/10602621.html