-
ACM课结课了。
回想一下,当初这门选修课被老师安排到了所有学生的课表中,之后说不想上可以取消。结果光计算机专业就近三百人,加上其它专业,最终只有二三十个人留下了这门课,应该是被费老师成绩考核严厉的名声吓住了。当时我根本没犹豫,直接就留下来了,那时我很自信,我能够做好,不会挂科的,而且我也确实想学习ACM相关的知识。
说实话,最初对ACM产生兴趣还是因为这个比赛含金量,而选这门课的同学应该大部分都是奔着能够进入我们学校ACM的校队来的,更是以能够代表学校踏上ACM比赛的赛场为目标。毕竟“不想当将军的士兵不是好士兵”,不想进ACM队,不想去ACM的赛场上打一场比赛,选这门课来干嘛呢?我宿舍有同学在我的影响下,虽然没有选课,但也尝试着跟着学习。在他们看来,这是个措宽知识面的好机会,而不选课就不担心会挂科什么的。我本来想找个伴,能够一起讨论讨论问题什么的,但到现在他们没有一个坚持下来的。即使我一直没有改变对这门课或者说这个比赛失去兴趣,但真正付出的努力也谈不上做的好。开始时我也专心于这门课,甚至兴趣一度高到想占用其他课的时间来练习算法知识,当然偶尔我也确实这么做过,但之后却因为有些课落下太多,所以花在ACM课上的时间减少了。也因此,我总是安慰自己,我没做好是因为别的课干扰,我没做好是因为在家里学习氛围不强烈,容易让人分心,我没做好是因为我还要怎样怎样所以没时间了……其实说到底,都是借口嘛,如果真的以足够认真点态度对待,这些障碍甚至只是一点课余的放松。惰性人人都有,谁控制住了,谁就赢了。
其实最开始我就有预感的,从小到大一直这样。其实我并不讨厌学习的东西,但当它变成一种规范,并且作出规则来约束后,即使本来喜欢的东西也可能会让人厌烦。就像是那些欣喜选择电竞作为专业的人一样,原以为能够玩个够了,而且别人人也总是羡慕的看着他们总是能玩游戏,而且玩游戏本就该做的,但事实上他们确实玩够了。高考已经验证过一次了,按照我平常的成绩我应该可以考一个接近600的成绩,但最终成功考了一个接近500的成绩。得到成绩后我反思了一下高考前自己复习的状态,觉得得到这个成绩不是意料之外。我讨厌复习,我喜欢学习新的东西,喜欢尝试新的,困难的东西。所以在上学期,当我听说ACM比赛就是个有挑战性比赛,而且题目考研的就是思维能力,我欣然,就它了。确实,最开始接触的时候,我确实有很大的兴趣,并且干劲十足。但随着接触ACM比赛时间越来越长,对于比赛的涉及范围及思维深度以及以前的参赛者为之付出的努力越来越了解以后,我才发现,我又天真了。ACM比赛不是一个拼运气的比赛,不是一个凭借好奇和小聪明就能成功的比赛。当然,这些有些时候作用很大,但真正决定能够在这条路上走多远的,还是努力,这是必需的。诚然,客观的说,我确实有些小聪明,也确实对于知识有很大的好奇心,但没有努力,这些啥都不是。回想一下高中时,学习新知识时,我总能得到不错的成绩,但在高三最后复习时我越来越不如人了,也是如此。成功,永远都是用努力拼搏出来的,打小就知道,熟的不能再熟的道理,真正实际碰到时,没有几个人真正领悟。确实,老师也说过,最终的决赛,有些时候会是需要凭借一些运气的,但能够进入那最终的决赛,绝不可能一直靠运气,靠的是实力,还是付出的努力。说实话,我大体上已经才到我的ACM课考核成绩了,我应该不会挂科,但不过70分左右的水平,我确实做的还不够好。
老师还说过,这门课只是一个入门,目的是引领我们买入ACM比赛的大门,而比赛所涉及的知识,各种题型以及应对各种题目的方法老师不可能手把手教我们,需要我们自己去探索。所以说,其实ACM比赛所涉及的知识不见的就比高中数学难,如果ACM课也可以每天讲课,持续两年半,那这比赛就没啥意义了。所以这个比赛真正考验的,或者我们需要做到的,还是一个自主学习能力。自己能够规划好自己的学习进度,并且坚持下去,就能够得到不错的成绩。
回想一下,这一个学期,课程十六个周,其实老师没讲多少东西。开始以递归算法开篇,因为上学期在讲递归函数时已经稍微涉猎递归这个东西了,选择这个算法打头也让我们更易接受。递归算法重心就是以递归函数为载体,当遇到的问题可以化简为一个或几个与原问题相似的小问题时,就可以利用这种方法解决了。这里有个关键就是,这个小问题与整个的这个大问题是相似的,才能够通过递归函数自己,实现问题由大到小的转换。解决问题的思维中会感觉个无形的环,由大到小,但所有圆环都是内切的 由大环转换到小环,当所有小环转过之后会回到大环,最终得到最外围的最大环。其实当问题复杂后,递归变得有点类似“工具算法”,当然,工具其实是递归函数。其后便是贪心算法。贪心算法的特点和递归类似,原问题可以分解为很多小问题,小问题易解决,同样也具有一定的统一性,但它不再限制与原问题相似了,甚至直接看原问题都找不到相应的解法。这就是我在做贪心部分题目时不适应的原因,很多题目找不到某种简单直接或者由全局得到的某种算法,而分解成的小问题解决方法通常不完全统一,存在多种情况,如此,在乍一看题目会感觉无从下手,找不到规律,不能由某一算法慢慢分析。而这部分题目在解决时常常需要先把问题聚焦到当问题简化都接近某一个“单元”时存在的可能情况解决。所以在做这部分题目是总会感觉自己得到的答案算不算贪心算法,总感觉自己得出答案的方法有点无赖死缠烂打的感觉。之后是动态规划算法,这部分内容多,但隐约有种大体隐约固定的”模型”。像线性动态规划,在寻找状态转移方程时,当前状态总是与其来源的状态相关,当明辨题目变化的状态后,题目就基本解决了。区间动态规划的好多问题都可以直接套模板了。解决问题的关键就在抽象的状态是某段区间的大小变化,寻找状态变化即区间变化时发生的变化,当然,这部分问题挺耗内存,以下标表示区间范围后,所有i>j的数组元素空间都会浪费,当然,这样可以赋予dp数组下标以一定的意义。而且,很多时候不见的完全是区间动态规划问题的某一模板,而是以区间的思想,解决问题,或者有些问题不是动态规划问题,但利用区间的思想会简单许多。背包问题,讲真的感觉有点掌握不住,只能做到四中背包问题(常规形式)的能够处理,如果出来个利用相同思想但形式大不相同的题目,实在上头。四种背包有一定相似性,并且感觉存在一种由一般到特例的关系(当时博客总结过),所以就先掌握好四种背包问题吧。总览下动态规划,给我的整体感觉,抓住状态是本质,理清变化是关键。状态变化时找清其它数据的变化与不变,辨别与状态变化的关系问题就解决了大半了,然后就是处理边边角角的问题了。再之后是二三分,说实话有点轻视二分算法了,因为真正寻找答案时二分步骤很固定,但就因为这样的想法,导致在实际运用时总是出这样那样的错,而且习惯一旦行程很难改掉。这部分我最大的想法是,用二分方法求解一定不能含糊,这个方法很常用,也很重要,一定要掌握好的。然后就是数论了。提到数论,我很惭愧,当时因为点原因没写博客,结果到现在还没补上,人懒了啥都可能……其实我也为博客做了不少准备,但数论知识点确实多,所以一直没补上。数论知识点真不少,而这部分的问题也是真的麻烦。我对化简或者变换某一公式形式以得到一个适用求解的式子还是比较有手感的(我觉得跟我高中物理好有关系),但我高中数学就不好(说实话数学物理应该差不多才对),所以对数字很不敏感,做这部分题目有点本能的讨厌。但题目不管你讨厌不讨厌它,真正动手琢磨研究一下其实没那么难,无非是在找规律,找一个由素数关联整个整数系的规律。最后是三种工具算法,啧啧,懒,而且忙着搞C++,所以也没写博客。说实话有次做题我想到可能用树状数组会易解决,但发现,没有真正自己实现过,不会用,光走马观花略其大意而不用跟没学一样。
幸好,老师最后送了个“礼物”,应该可以通过那个真正学会运用。讲真的,我从来不可能觉得一个老师抱来一堆试题说“这是无偿免费的,这就是老师送给你们的礼物”这就是礼物,但我这次确实觉得老师这次最后送上的真的是一个礼物。没有它,我们可能只能像屋头的苍蝇一样,左奔右闯,杂七杂八的学点东西,不全也不精。说实话,看到老师送出这么个礼物时忽然有点惭愧,老师付出的努力,对这门课的认真远超我这个本应该足够认真对待的学生,如果在小学,这是常态,但我现在不是小学生了。接下来,老师不会再一字一句给我们讲解一个算法结构,也不能再一点一点分解某个优化方法的原理了,老师放手的那一刻开始,如果还记得当初选课的目的、目标,就该想想之后该怎么做了。
说实话,我不认为这个ACM课我做的好,我不认为对于这门课我是个好学生,如果说以这个标准选择ACM队员的话,我相信我不够资格。cf我也大部分都坚持打了,但我最后关键突破的题总是做不对,很多情况认为所有可能的情况都应该可以但总是不对,而官方的答案总与自己的算法大相径庭。现在我掌握的算法相较于ACM比赛能够用到的来讲还太少太少,而且并不能精通某一个算法。我仍然想成为一名学校ACM队的队员,并有资格踏上赛场,并拿到证明自己实力的奖项。但这些光靠想什么也得不到,目前而言,还差老远呢!但我还有时间,ACM课结束了,但我的ACM之路不能就这么结束。曾经的想法不能就这么变成一个无趣的玩笑,那是梦想,是用来实现的。想要克服惰性不也不是说出来的,对吧!
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算