前一段时间都有些事情要处理,一直想做的总结报告以至于之后又拖延了许久。
—————————————————————————————————
1.14-1.20的训练确实也是比较轻松,一开始的计划并不是要进入一个非常严格的训练周,然后进行十分忙碌的训练,反复的补题做题,并不是我的初衷。就我个人来看,学习一个算法可以通过几道题来解决,但是了解一个算法,却远远不是做题能够带来的。敲模板确实是能过题,但是当自己再次遇到的时候思路就在那里,但是那种力不从心的感觉才是最让人感到难受的。也是深受其害吧。
了解一个算法确实也是不容的过程。多个子函数之间联系的构造和功能的实现都需要反复推敲和手推,才能理解运行的过程。当然有些算法的是实现过程还要一些公式的推导,但是自己有时候又有一些急功近利的意思,以至于有时候对于公式的推导反而忽视,致使之后对于算法产生过程一知半解。之前看了一些题解,有些博客上的题解可以说是巧夺天工令人惊叹,有些博客上的题解却繁琐冗长读之无味,之后还是要形成自己的代码风格,不说自成一派独树一帜,取其精华去其糟粕,还是要找一段时间训练的时候,写出适合自己的高效风格才行。
说到之前的训练赛,也是按照以前的风格和新增的算法来出的。其实都算是入门题,但是还是做起来很棘手,不知道是因为之前很久没有敲的原因,还是因为其他,一个小时之内水题codeforces的AB题也只能做到3-4道左右,还是因为自己基本功欠太多火候了,还是要多敲才行的。
就codeforces上的题目来讲,前两次的题目都算比较水的,主要是照顾到实验室里的新手,最后一套题的也差不多,但是多了一个最小优先队列,还有一些STL的运用,使得这套题多了一些滋味,至于要有一道关于时间差的水题,之前的哈理工的比赛中倒是做过了,但是当时是老司机敲的这道题,自己后来又没时间去把这些题目一一补了,最后倒是用了杨犇的方法强行敲过去了,还是消耗了不少时间的,对于这些简单的题目,之后还是要分析一下,我觉得总是有简单的方法可以解决这些问题的。
—————————————————————————————————
对于算法题,说来也是比较惭愧的,虽然之前看了不少关于这些算法方面的东西,但是当自己实践的时候,还是觉得纸上得来终觉浅。很多东西之前理论的过程倒是理解的差不多了,但是到实际去敲的时候,没有模板自己还是会出现很多小细节的错误。这个还是印证了之前的话,看了很多的算法,还是不如自己亲自上阵去实践一番得收获的经验多。
关于各个算法,说起来自己虽然对于这些算法也算是有一些了解,但是对于每个算法深入的知识,还是写起来一知半解的。比如关于并查集的一些深入,带权并查集的运用方面我就欠一些火候,比如关于最小生成树的唯一证明方面自己还是缺少一些理论的知识,比如关于最短路的优化方面,自己还没有对此进行系统的学习,总得来说还是很多要去弥补的方面,之后还要加倍努力地去学习一下。
—————————————————————————————————
这几天的训练还是遇见了很多志同道合的朋友的。ACM的道路很多时候是要耐得住寂寞的,学的东西非常繁多,而且学习的过程也是长期,很多人都是遇难而退的,这个也是在情理之中,但是能够坚持下来的人,必然是有一颗不畏挑战心的,山就在那里。