第一学期ACM之旅总结篇

是我大一第一学期ACM之旅总结篇鸭,纪念逝去的青春:

        自加入ACM集训队以来已有三个月之久,虽然一开始什么都不懂,但对ACM充满期待与向往。入队以后,通过和队员们一起学习以及各个学长的指导下,我慢慢地得到了显著的提高。从一开始只会刷非常非常简单的签到题,到后来学会了渐渐去分析问题,再用各种算法和数据结构用程序来实现。现在回想起来,学习ACM也有一个学期之久,时间很短暂,但收获很大。

       入队期间,学长们参加了ICPC和CCPC的各种比赛,看到了强队和弱队之间可谓天壤之别,但他们展现出的都是坚持和毅力。弱队不会因为自己弱而干脆放弃,即便是到了比赛的最后,奖区以外的队伍依然在提交题目;强队也不会因为自己早已坐稳排名而放弃做后面更难的题目,即便到了比赛的最后,他们仍然也在提交,对于他们而言,大概是选手与出题人之间的博弈和比拼吧。入队不久,“水题”就被我刷的差不多了。到后来的有些题目我虽然刚开始做题的时候会感觉到有些无从下手,有时甚至一道题拿过来连题都不知道在说什么,但我通过翻看《挑战程序设计竞赛》,逐渐地对各种算法和数据结构有了一点了解。

       起初在看《挑战程序设计竞赛》时的心情是痛苦的,因为我感觉里面的文字晦涩难懂,但当我用上面朴实而又不失才华的代码应用在模板题当中并且通过了该题时,激动的心情难以描述,由此我又会想起暑假自学C语言的过程,从“hello world”到打印图案,再到写几十行代码就为实现一个最常见且最简单的计算器,过程虽然痛苦,但结果总会激励我让我继续往下走。

       渐渐的我也参加了一些小型的比赛,感受到了强烈的压迫感,以及对变厉害的强烈的欲望,我开始关注别的OJ平台的情况,看到了更为宽广的世界上的大佬和神犇。渐渐的在学校OJ上我的题目数量从五十,到破百,我也开始了我刷牛客、codeforces、acwing的征途。在这条路上,不仅题目看不懂,还有题目看不懂,部分英语单词不认识让我身体发麻,看懂了英语单词以后,题目又似懂非懂,云里雾里,本想跟着题目死磕,却无奈几天甚至一周无果,只好去寻求别人的思路。看了别人的思路后,剩下的不仅是嫌自己太笨,还有自己的知识太少。渐渐的我也开始写解题总结,梳理自己的思路,这正对应了我在暑假看的《啊哈C语言》上所讲述的编程思路:先看题,再构思如何实现,然后再写代码,最后看有没有bug之类的。而我之前都习惯了水题带给我的看题直接上代码的快感,这是非常错误的,之后开始学着构思,学着看别人的代码,理解别人的思路,感受别人的码风来寻找自己的码风,学习别人代码中自己不会的语句。

       三个月期间打的比赛,有高兴也有失落,一开始打比赛能出题自然是高兴的,在自己私下打的acwing周赛和codeforces的比赛中,我逐渐能较快地做出签到题,第一次学校新生赛过的还算平静,不好也不是太坏。经过数月训练,在哈理工新生赛第一次出了好多题自然是高兴的,但在随后的其他比赛中,还是只有签到的水平,甚至有时候还会签不出来,内心复杂程度难以描述,多次反思到底是什么问题,或许是对自己的期望过高,也或许是自己学的不够,也或许是自己到底是否合适这种竞赛,想过是否要退出,但最后都以“再等等,再看看”结束思考……,出现这种问题,我认为应该是自己太急于求成,太沉迷于刷水题的快感而遗忘了我到底要干什么,太沉迷于用模板去做模板题而遗忘了我到底学了这种算法或者数据结构到底要用在哪里和怎么用。之前看着别人接连不断的出题,而我却迟迟出不了题,总会内心着急,渐渐的我也习惯了这种节奏,我只需要做好自己的事情,不必因此而急切,这种急切的内心只会让我不断看榜,导致思路连了又断,断了又连,最后思路一团糟,这也让我明白了心态在这种比赛中的重要性,以及要坚持不断地练习和学习并理解更为高深的算法和数据结构,最终做到灵活运用。

       统观这近一学期的训练,ACM带给我的收获是巨大的。ACM提高了我分析问题、解决问题的能力,同时也很好地锻炼了一种思维。在算法、编程能力、知识面拓展等方面的作用是不言而喻的。在网络上我也有看ICPC现场赛的相关视频,通过目睹他们的做题视频,我看到他们也是一道一道地做出题目,然后拿得金牌等,那些实力强大的队伍,不全是传说中非常人的神仙,通过搜索他们的OJ平台的账号,他们也是在平时通过不断地训练后,精通各种算法,在比赛时一道一道解决题目。而他们的努力,并不是每天做一两道题就算结束,而是高强度的练习来巩固知识点,这一点好似备战高考,不断地刷题不断地参加训练赛。

       通过刷题和训练,我渐渐地发现出了自己的很多不足,对于一些比较高深并非非常高深的算法和比较复杂的数据结构了解太少,打代码的速度也并不快,对于一些学过的算法,我也不能熟练地写出来,有的还得要看模板。随着学习的不断深入,对于一开始学习的算法也渐渐出现了很多遗忘,在C语言课上提到冒泡排序,一度头脑蒙圈,忘记了第一个学习的排序方式。近期目标就是复习期末乏味的时候刷刷codeforces或者牛客的练习题,保持思维和学过知识的灵活度,到了假期静下心刷一遍《挑战程序设计竞赛》和学一学《C++ primer plus》进阶一下C++的基础和算法基础,不能急于求成,为以后更强大的算法和数据结构打下基础,正如一句话说得好“基础不牢,地动山摇”,我从CSDN上也看了几篇打ACM学长的退役文,虽然不能感同身受,但也感触很深,“不要等到马上退役了再后悔当初没有多努力努力,既然热爱一个事情那就坚持下去”。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值