2017寒假ACM集训总结

  • Post author:
  • Post category:其他


说在集训期间很轻松都是假的,每天上午、下午、晚上坐在电脑前,一敲就是几小时,对颈椎也是不好的,但是,大部分人还是坚持了下来,为的,就是更好的学好算法和数据结构,是我们心中对代码的热爱,让我们坚持了下来。这其中吃得苦,受的累,在以后既是一份荣耀,也是一段我们能跟别人讲述的光辉岁月。

在这里,我们学到了知识,交到了朋友,也为我们之后的团队赛奠定了友谊的基础和信任。

经历了半个寒假的ACM培训,让我从一个懵懂无知的程序小萌新变成了一个略熟路的老司机。不得不说,acm集训对我的成长还是非常大的。在这段时间里,我不但学到了算法和数据结构的相关知识,更重要的是,还学到了更重要的自学能力,这种自学能力,对以后的工作的帮助是至关重要的。

在总结收获之前,我要说一下这段时间的不足和遗憾。

我在实验室的这段时间,可以说有一半的时间是没有学习要求的算法和数据结构的,旁边是东庆大神,但是我不为外物所影响,在旁边浓厚的刷题气氛下,依然还是坚持自我,浪费了许多时间。这是我从小就养成的习惯,不能静下心来。这种静不下心来不是在一件事上的长远坚持,而是一小段时间的细心钻研,一个知识点的学习探索,不能一气呵成。断断续续,是学不好的。

最后的结训赛,在一道题重判之前,我只a了两道题,排名在五十多名上(本以为进不了504了),最有有一道题重判了数据,竟然a掉了,排到了20名,算是不幸中的万幸了。寒假的这段时间,学一些新东西时效率并不高,没有做紫书的题。我认为做的oj的那些数据结构的题只是学习新知识的一部分,而不是自己编程能力的提升,这也是这次考试如此差的一个原因。在新学期开始后,把假期学的数据结构巩固好后,一定要多刷紫书的题,紫书上的题不但能锻炼思考能力,其中也会涉及到一些c++的东西,也能顺便学学c++。

在做新题这一方面,我觉得我做的也很不好。碰到一道不会的题,第一反应不是思考这是什么方面的知识,应该往哪方面想,而是想的旁边有两位大神,做的都比我快,实在不会问问他们吧,心里有底的感觉。到了战场,谁还会跟你讲题。

关于卡题,这是以前犯的一个低级错误,本以为自己不会出这样的错误了。但是这一次测试,竟然又卡了两道题。三小时的比赛时间,在那两道题上用了两个小时左右。现在想起来,肯定是不该,我没经历过卡题的时候,也是想放就放呗,怎么可能卡题。但是测试中还是时长卡一下题。

不得不说,这段时间露出了我很多的缺点,现在反思,主动找出错误,而不是其他人帮着找,应该会更有利于缺点的完善。说着容易做起来难,而且毕竟这种习惯也已经跟了我好多年,性格的改变也不是一朝一夕的事,在下学期,就要开始改。

刷题时,不想超过一小时题不问别人。

碰到一道题,先往知识点靠,顺着知识点想怎么做。

增强自己自控力,尽量不因为玩游戏耽误其他事(lol不太玩了,但是最近迷上了阴阳师 手动滑稽)。

做题前,先把大体思路理清,再敲。

做题时集中精力,不被外界的因素干扰,更不能在做题的中间玩手机。

在今天开的会中,巨巨发言说在学习新的知识的时候最好先提前看看这个知识点是什么,了解个大概,在学习时就不会想没头的苍蝇一样飞来飞去,不知道怎么学。这就是上学老师教的预习。预习了要学的知识,在讲课时才能有重点的去听讲学习。高中时几乎没预习过,不知道预习的重要性,现在学习数据结构,才发现预习与不预习差距是有多大。虽然集训的时间已经过去了,也不会有人系统的给你讲课,但是既然走上了技术员这条道路,就是一个不断学习新东西的过程,新东西是永远学不完的,在之后的学习上,我会有意识的去预习。

上面就是我现在能认识到的不足(感觉自己一无是处TAT),下面说说我的优点,希望我能在以后继续保持。

在这几天,我充分认识到了自学能力的重要性。我也刻意的去提高了自己的自学能力。因为我的进度比较慢,学长每天讲的课基本听不懂,所以每学到一个新的知识点,都是自己摸索前进,看博客,刷题、看书。有时候,一些难懂的知识点实在是难懂到抓狂(比如线段树),当时真的是什么都不想干,脑袋要炸了的感觉,就想坐在那发呆。给的一套模板上有些没见过的符号(<<=),没见过的用法(宏定义),等等等等,都是上百度一个一个搜,慢慢的啃,最后带到模板里,一点点的理解。但还是熬过来了,回首望去,也是一段痛苦又难忘的回忆。

在学大部分的数据结构的知识点时,我都尽量在理解思路的基础上,不看代码,自己敲代码实现功能。这也是算法竞赛的一个重要的能力——代码实现能力。有了思路以后,可能因为一些用法的不熟练,可能不能写出你想要的程序,或者BUG成堆,调试就要半天。虽然这样去练了,但这也不是这半个假期能练出来的,还是需要在以后的训练中去练习。

在我旁边的人旁边,我的进度算是慢的,不能静下心来是一个原因,但是我把每个知识点都扎扎实实的学好,从不会,到看懂,敲出来,然后第二天我一般会把一套模板再敲一遍,巩固记忆。考试的第一题是个背包的题,背包我在学完以后就没再复习,但是那个题我还是没怎么卡的就敲出来了,然后a掉了,算是比较熟练了。

还有一点就是中间搬宿舍一次,除了这种不得不请假的情况外,其他时间都没有请假,也算是一点我的小进步吧(以前上学时可是绞尽脑汁的请假)。虽然效率不是很高,但是起码能坚持下来了。中间还有一次感冒了五六天,也是在实验室坚持下来了。

在ACM这方面奋斗了半个学期,其实只是很短的时间,但感觉真的不容易。现在只是涉及到初级的算法和数据结构,已经有一批又一批的人被剥出去,能留下的,其实就已经很厉害了。但是现在只是练习ACM竞赛的基础——编程能力。可以说,现在只看你是否努力,只要你能努力,就会有丰厚的成绩。而ACM向深处学习之后,就是思维逻辑与纯数学的比拼了,这时还需要有着过人的天赋,才能在一场激烈的ACM竞赛中有立足之地。

看了很多毕业大学生的博客,许多都是担任着自己学校ACM小组的队长,我吃的苦,与他们比,还差得远。想要取得成绩,不吃苦是不行的。

但是,成天成天的刷题,坐在电脑前,疯狂的敲着键盘,我们与其他人的交流也就愈发的少,这也是为什么程序员在人们心中的印象就是邋遢、沉默不爱交流的原因。我在上学期的时候,就越发坚定一个观点:就算敲不好代码,就算不学计算机,我也不能只会编程,其他方面就像未成年的学生一样幼稚。我会花时间出去聚会,我会去锻炼为人处世的技能,就算会耽误去实验室的时间,这些东西,如果到了社会上再学,就已经晚了。现在的社会是一个多元化的社会,一个大的工程都需要许多人共同合作完成。不会交流,不会合作,那么你的前途将会一片黑暗。更重要的是,不会交流,可能许多人也不喜欢跟你交朋友,可能有人喜欢一个人独处,可能我也是,喜欢安静,安静的时候,心里很静,但是如果太长时间,我会感到一种恐惧,孤独的恐惧。所以到了大学,我敞开心扉,也交了很多朋友,过上了一段与以前截然不同的生活,虽然还有很多缺点(比如一天连补两张饭卡),但是,我相信,只要抱着真心去交朋友,还是会有许多人拿出真心跟你互换的。

最后,引用一篇大牛的博客的话,ACM just a game.如果你喜欢它,就享受它;如果你讨厌它,就远离它。

去寻找你真正的生活.



版权声明:本文为sdutstudent原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。