游客您好,您还没有登录哦!
您的当前位置: LSNU ACM>了解ACM>师兄师姐

许福坤

发布时间:2017-10-16 10:00:51

     大家好,我叫许福坤,11级软件工程班学生。由于一些个人原因,17年正式参加工作,目前就职于帝都一家o2o平台做Python后台开发,关于我个人本身,我倒没有什么太多想介绍的,这里我更多的是想和你们聊聊,ACM是什么,以及我个人对它的看法。

     这里呢,聊聊和ACM的故事吧。我和ACM相识于一场学校举办的比赛,当时是什么情况呢,孙老师上了两个多月的C语言,我还比较感兴趣,又正巧碰上了学校举办的程序设计大赛,所以就跃跃欲试的报了个名。最后,正式比赛开始了,拿了个二等奖,据说一等奖是住我寝室隔壁的杨大妞。原本以为这场比赛就这么完了,然而,意想不到的事情总是这么悄无声息的。依稀的记得那天早上下课休息时间,教室里来了几个师兄、师姐,说要颁奖,然后呢,师姐就发了一百大洋的奖金给我,顺带着还问我说,我们这里有个组织,叫ACM,主要就是做算法比赛的,你有没有兴趣,偶尔还会去成都参加比赛滴。我当时一愣,也不好拒绝,就答应了。好吧,就这样,我被师姐忽悠成了ACM的一员。当然啦,这场比赛,也有其他意想不到的收获,就是结识了我人生中比较有思想的一个朋友——来自隔壁寝室的杨大妞。很快就到了大一的暑假,当时我们大一的ACM队员有幸和师兄们一起被派到电子科大暑假集训,也就是在这个时候认识的帅广应师兄。帅师兄人挺好的,闲暇之余,把我们新队员叫到一起,跟我们讲解基本数据结构,也就是在那个暑假,我才知道ACM到底是什么。有时感觉有意义的生活总是过的很快,不经意间,两个月的暑假集训就结束了。当时的集训对我来说,意义还是蛮大的,学会了基本数据结构和一些简单算法,也看到自己在科大这种地方的弱小吧。所以回到学校后,比以前认真了不少,不过这种认真在现在看来,更多的是,漫无目的吧。究其原因,主要还是在ACM上面,学校老师并没有什么实质性的经验,而我们又正巧碰上学校ACM的起步期,也就是说你只能靠着自己的兴趣和坚持做下去吧。以现在的眼光看来,自己在ACM上面是走了不少的弯路的,当我清楚的意识到这点的时候,是在我大三时,院上请了两位参加过全球Final的学生给我们上过一周的算法指导课,当时他们询问过我一些学校ACM的情况和训练模式,也给我们提过一些有实质性的建议。

     转眼间就到了大二,我也成了师兄,也要开始带领ACM新人入门。这段时期内,还是比较有意思的,时常和杨大妞聊聊生活、交流思想,也组织过给新人的算法入门课。这期间所经历的,都没有什么可赘述的啦,现在想想也就那个样子吧,也没啥太大的怀念。

     最后,聊聊我对ACM的看法吧。首先,ACM能让人开不少眼界,它让我看到了我和这个领域站在金字塔顶点的人的距离;关于乐山师范学院会存在ACM团体这点上面,我还是蛮感激金院长,至少他让我们看到了原本看不到的东西,一般在二本学院,能接触ACM的学校并不多(在我读书的那个时候,现在可能会好点了),大部分二本学院都是教学生做软件工程,虽然仅仅只是老师以为在教学生软件工程而已。其次,ACM会磨练你的意志,怎么说呢?ACM主要还是偏重你的思维能力,而思维上的提升并不是一蹴而就,它需要时间的沉淀,当你需要去掌握一些高级数据结构或者学习一种新的思想,你迟迟不能理解的时候,这个时候就比较考验你的意志力了,大部分的人会选择放弃(至少在乐师是这个样子的),而留下来的人依然会想办法去尝试弄懂,或许你会把整个程序不能理解的地方都打上断点,一步一步调试直到自己理解。当有一天,你学习一种新思想你发现自己的反应变快了,当你追寻变化的来源时,你才发现正是这种坚持在导致质变,这不是一件令人兴奋的事情吗?最后,不要把ACM当作你大学时的全部,我个人的建议:大一、大二好好做ACM(前提你要有兴趣,不然也是白白浪费你时间),大三时,看个人发展发向,如果你偏重于做理论,那就好好准备考研吧,偏重于做工程,那就好好去写工程代码,这个阶段,不要对ACM有太多的迷恋,它带给你的思维能力和学习能力基本已经定型,这个阶段,你需要做的就是把ACM学会的东西融会进工程(ACM和工程只见还是存在一定沟壑)。

     关于参不参加ACM,关键还是取决你自己。如果你以前接触过计算机,并且知道自己要做什么,那么ACM可能对你意义不大;如果你还是处于新生的迷茫期,不知道自己应该做什么,那么我个人倒觉得,可以试试ACM,或许它正好是你期望的邂逅呢。

     这里,在顺便提一下关于ACM正确训练姿势吧。

1.   codeforces和topcoder任选其一(两者都选也行),这两个平台都是在线的比赛平台,为什么我把它们放在第一位。究其原因,就在于在有限的时间内,你要想解决更多的问题,对你的思维能力和写代码能力都有较高的要求。它们跟你平常刷题不一样的是,刷题没有时间限定,你多久解出来都行,而这两个平台都是时间限定+积分制,每场比赛都有排名,你的积分依据你的排名涨跌,而且,它们还是面向世界的,也就是你能和世界各地的人同场竞技。

2.   静下心,不要浮躁。算法不要觉得你学了或者能过某道题目就完了,学和会用是两回事,它本身所体现的思想才是你应该好好体会的。举个例子,二分查找大家以后都会学,但是并不是每个人都“会用”,比如给你个有序数组叫你找到某个数出现的次数,最优时间复杂度是多少的问题。

3.   看题解的时候你更多的是去学习别人的解题思路,或者思考能不能在他的题解上面进行优化,而不单纯是,咦,他说可以用二分,然后你就用二分写过去了。这个时候,你更多的是去思考为什么你没有想到二分,为什么可以用二分,只有这样,你才会慢慢变强,而不只是一个思维的搬运工。

 

     好像也没啥写的了,希望我走过的经历对你们有些帮助,就这样吧。哦,对了,个人最喜欢的一句话:了解自己,了解世界。