没想到我能坚持这么长的时间,居然一直撑到了最后。要结课了。回想起当初选择参加acm社团的时候,就是想找点事情做,打发打发时间,主要原因是因为我太懒太笨,刚入大一的时候天天玩手机,刷视屏,经常熬夜玩手机,所以想找个玩意占一占熬夜的时间,不然总感觉熬夜玩手机实在是太浪费了,但又停不下来,现在看来,我的当初的选择还是些许正确的,虽然我学的一头雾水,经常听不懂,但是好歹占了我一些用来玩手机的时间,占了我不少熬夜的时间,让我少浪费了不少时间。
教我这门课的老师很不错,已经很多年没有遇到像这样的老师了。刚开始学的时候首先学的是贪心算法,寒假的时候也做过不少贪心算法的题,感觉贪心也就那回事,但如果想多一些,会发现有太多麻烦的事情。越学越不好学,越学越麻烦。有层层递进式的贪心问题,也有每一步都有很多种选择的贪心问题,最烦人的是既要考虑如何递进又要考虑如何选择。因为用程序来解决问题的话总是要一步一步的来,一个问题的解决总是得分一个先后的顺序,分不好程序就很难写,事情就很难办。还有一个问题就是很多问题的条件实在是太多太烦索,经常想了这个忘了那个,很多时候都是急着去解决问题往往却找不到门路,而想通的时候往往却是在刷视屏看小说的时候无意间想通的,说到底我还是太急躁了,因为我太笨,而且总想在较短的时间内解决所有的问题好节省较多的时间来玩,但往往就是陷进去出不来了,在一两个看似较为关键的变量上打转转,而其他的条件却用不到里面去,可能是高中考试做题的时候总有做题的套路,现在啥套路也没有的缘故。之后做的题多了一些后,感觉就慢慢的好一点了,至少看题解的时候没那么费劲,把题解看懂比较容易了。
很长一段时间做题没有记录题目中变量和条件的习惯,喜欢空想,还好后来改掉了,虽然空想去解决问题的感觉很好,但是时间的利用率会非常低下,很不适和我这样的笨人。把条件和变量尽量用简洁的方式记录在一片较小的区域内,时间的利用率会比较高,可以时时刻刻都掌握住所有的条件和变量,虽然这样不一定能解决问题,但是对问题的熟悉程度会大大加深,熟悉到一定的程度或许就想通了,这也许就是熟能生巧。
之后学的是dp,dp让人烦不胜烦,很好用,但很难理解,最烦人的一点是东西太多太杂,整合不到一起去,切入点也很难想,很多处理都不是直来直去的。dp主要是讲了线性dp,区间dp,背包dp,线性dp还容易一些,但区间dp最难理解,理解了很长时间。觉得用图的想法理解起来不错,用短的线段来取代长的线段,dp最重要的一点就是把一点处横向展开,找到和之前的量的各种联系,然后是把其中的变量用f[]表示,之间的递推的关系用循环来推出,其实如果一开始的化把dp问题看成是一个纯数学问题,自己举一些数据,做一做猜想再结合数学归纳法看一看是否是大致合理的,严格的数学证明,哎,做不到,也太麻烦。这往往比一开始就进行逻辑上的思考要容易理解许多,会使对它的熟悉程度大大增加。
我觉得这门课最重要的是一个思路转化的过程,把不容易理解的东西想办法变成形象的容易理解的东西,很多时候感觉解决问题的关键不是抽象化,而是想办法形象化,就像背包问题那样,二分可以理解为左右调表,找到需要调节的因素,调节后的结果,以及用于比较的调节的标准也就差不多了。dp问题和在一张图上走不同路线找最好的路径有很大的相似性,有时候画着画着图,把一些量的值表一表,好像就会明白不少,即使做不出来,也大概会有点想法了。
然后是学习了数论,数论的很多东西我到现在也没怎么理解了,哎,难啊,很多东西根本就搞不出来,其实说到底还是数论的相关公式记得不太清楚。通过打表找规律是一个不错的方法,多半数论的问题都和素数有关系,搞好素数是比较关键的,不知道数论有什么形象的理解解释方法没有,哎,如果有的话,会比较好记吧,感觉构建一个由素数管理的自然数体系是解决这类问题的关键,如果能想一些办法通过一些公式的组合把所有的自然数都用素数衔接接和起来,在通过一些形象化的事物去代表一些含义,对数论的一些问题的解决会大有帮助。
这门课对我的帮助很多,让我多了一些时间用来学习,让我一个又懒又笨的人变的有点自律性了,很多看上去很困难得问题感觉会那么一点了,看到一个问题不在害怕了,如果慢慢做下去的话,其实还是能解决的,解决还是有希望的。感觉要想学好一门的关键是动情,产生了感情之后才会有共鸣,就想有些回忆一样,很难甩掉。学好一门东西其实就是熟悉程度的不断加深,在加深的过程中融入自己的情感和感性的理解,有了自己情感的东西,就是属于自己的了。
哎,真的很羡慕那些算法大神,也不知道那些算法在最初的时候到底是怎么想出来的,结果我学还学的那么差,一脸懵圈。哎,造化弄人啊,一直以来我都觉得我不会去学和计算机相关的专业,但没想的我和他混了一年了。一直以来的愿望是想去学医,现在看来,还好没有去学医,不然以我又懒又笨的样子,估计不会成为什么好的医生,顶多就是一个庸医,也不知道自己之后和医学有没有缘分了。不过,算法确实是一个令人着迷的东西,遗憾的是程序只能一步步的来,也不知道有没有能同时进行多个计算的机器,也许有吧。
就这么结束了,有点不甘心,学了这么长时间,会的东西不多,忘的东西倒是不少,现在基本上是忘了个干干净净,该好好复习复习了。也不知道教了我们这么长时间的老师长什么样子,或许会见到吧。
人生如梦,期待着更新更好的信息技术出现,期待着虚拟现实技术的大规模应用,未来,一定会有更令人享受的技术,加油!