ACM参赛小结
我接触ACM始于2011年4月,那时虽然什么都不懂,但是对ACM充满着向往与期待。那时参加完春季学期的校赛之后,我便决定去学习ACM,加入ACM集训队。通过发邮件联系沈老师之后,便在2011年5月,加入了学校ACM集训队。通过和集训队的队员们一起学习以及老师的指导下,我慢慢地得到了提高。从一开始连个简单的BFS、DFS都写不来,到后来慢慢地看懂别人的程序,然后自己会写简单算法了。从一开始只会刷非常简单的水题,到后来学会了分析问题,会根据算法的思想来用程序来实现。从一开始对ACM并不了解,到后来见识了ACM的博大精深,体会到ACM对解决问题的能力的提升。接触ACM之后,真的有种相识恨晚的感觉。我是非计算机专业的学生,大学以前也基本上没有接触过计算机。大一第二个学期学习C语言之后,我便对编程产生了浓厚的兴趣,感觉编程时候那种思维确实很有趣,后来学习了数据结构、Java等课程,大二快结束之际,了解到有ACM这个比赛,便加入了集训队。现在回想起来,学习ACM也有半年多了,时间很短暂,但是收获却非常的大。
一、比赛情况
感谢老师们的信任,让我有了两次参加ACM/ICPC亚洲区现场赛的机会。10月16日参加了上海赛区比赛,11月20日参加了福州赛区的比赛。对于最晚加入ACM集训队的我,第一年参加比赛便被老师给予了两次机会,心中充满对老师的感激,也满怀愧疚,感觉自己能力还不足以被派出去参加比赛两次,比赛结果也有负老师们的厚望。上海赛区经过队友们的一起努力,幸运地为学校带回了一块铜牌,虽然不是很好的成绩,但是可以获奖感觉还是很高兴的。上海赛区比赛结束之后,便期待着福州赛区的比赛,亦希望可以获奖。顶着巨大的专业课的压力,在考试周周末去福州参加比赛,结果却很失望,比赛中一直卡在一题上,最后时刻才发现程序的问题,最后一分钟才过了一题,结果福州赛区什么奖都没得。福州赛区给自己留下了很大的遗憾,让我充分认识到了自己的不足,同时也给比赛回来的考试带来了不小的影响。更重要的是福州赛区让老师们失望了,使得学校少了个赛区获奖的机会,有负于老师们的信任与期望。
二、ACM的收获
ACM带给我的收获是巨大的。ACM提高了我分析问题、解决问题的能力,同时也很好地锻炼了一种思维。在算法、编程能力、知识面拓展等方面的作用是不言而喻的。
对于一些基本算法——枚举、贪心、分治、递归、搜索等,图算法——最小生成树、树的遍历、最短路、二分图、网络流等,动态规划,数据结构——线段树、并查集,以及数学知识——组合数学、数论、计算几何等方面的知识,我感觉还是基本上掌握了的。虽然我以前对有的算法有所了解,但是真正掌握这些算法并用程序来实现,完全是通过学习ACM而获得的。
但是对于一些高级的数据结构——字典树、tried树、树状数组等,以及一些复杂的数学知识还没有掌握,虽然暑假接触了一点,但是还不能灵活应用。
通过学习ACM,我写了很多的代码,这是以后没有写过的。编程能力对各方面的学习都是比较重要的,编程能力的提升也有利于我以后专业课的学习已经以后的学习研究。同时学习ACM,真的学到了很多以前不会的知识。从各类算法到数学中的博弈、组合数学、数论等知识,拓展了自己的知识面。ACM也让我对分析问题解决问题有了更加清晰的思路。
三、个人体会和感受
无论是平时集训还是出去比赛,我都在ACM里面感觉到了团队合作的重要性。和集训队的队友们一起训练,一起讨论解决问题是一段美好而快乐的时光。尤其是在暑假集训期间,从对问题毫无思绪,到学会算法,解决问题,其中充满着乐趣。ACM拥有无穷的魅力。
两次出去参加亚洲区现场赛,让我充分认识到了自己的不足。比赛现场的气氛是完全不一样的,带来了不一样的感觉。通过比赛,我感觉自己平时学习ACM花的时间确实太少了,好多基本的问题都还不会,平时训练的太少了,题目还做的不够。通过目睹旁边其它学校的队伍,看到他们一道一道地做出题目,最终获得金牌,我感觉那些实力强大的学校的队伍,他们也并不是说非常厉害的神人,他们也是通过平时训练之后,精通算法,在比赛时一道一道解决出题目。
四、存在的不足
对一些比较高深的算法和复杂的数据结构了解太少,打代码的速度还不快。对于很多算法,我还不能熟练地写出来,还是要看模板。
五、打算
结束了今年的比赛以后,我就一直在考虑还要不要继续坚持ACM的学习。进入大三以后,专业课的学习很紧张,而且我选择的是通信工程专业,又需要跟着导师去做创新项目。我曾经一度感觉自己应该告别ACM,毕竟大三是比较紧张的时候,还需要为以后早做打算,而且自己也感觉学习ACM和自己的专业有点背道而驰。记得辅导员两次给我的建议都是最好能够把精力集中到一件事情上,这样我会取得更好地成绩。但是我如果现在就告别ACM,总会感觉有很多遗憾,也很不甘心。我离当初加入集训队时候自己给自己定的目标还很远。我一直相信只要一直坚持下去,总可以创造出奇迹。我最终决定继续坚持学习ACM,争取明年可以再次出去比赛,争取更好的成绩。我要挤出时间来学习ACM,接触各类算法知识,学好需要的数学知识,多做题。明年我要充满实力去参加ACM比赛,为ACM集训队争取荣誉,来感谢老师和队友们的指导和帮助。