ACM,热爱锻造辉煌

更新时间:2015-01-12 17:34:14 浏览量:

2013年7月1日-5日,第37届ACM国际大学生程序设计竞赛世界总决赛(ACM-ICPC World Final)在俄罗斯圣彼得堡顺利举行。由我院朱青老师指导,学生唐迪(2010级)、刘均(2011级)和欧阳典(2011级)组成的我校ACM队与来自世界各地一流高校的120支参赛队伍同场竞技,最终荣获65名的成绩。此次参赛是继2005年上海总决赛、2006年美国德州总决赛后,我校ACM队第三次参加世界总决赛。有关比赛,有关ACM,辉煌与掌声背后的他们,又有哪些道不尽的故事?

 

比赛:挥洒汗水与激情

繁忙的学业之余,不断地在国内外的Online Judge上做题目、做比赛是每个ACM队员最常做的事情。周六,信息楼5楼实验室会议室或者是417会议室,总是能传出敲击键盘声、激烈的讨论声或是完成题目之后的欢呼声,那是他们在进行每周例行的集中训练。这样的日子,刘均、欧阳典已经经过了两年,而对于已经大四的唐迪来说,更是贯穿了他的整个大学生活。

2012年11月ACM/ICPC杭州区域赛,是他们能否进入世界总决赛的关键较量。每周4到5次的训练,他们为赢得比赛做好了充足准备。160多支参赛队伍的数量,在当年是五大赛区中最多的一个。比赛进行到一个小时时,Kingbase_cj已经掉落至40余名,似乎与进入总决赛无缘。然而,在唐迪和刘均连下两题之后,局势瞬间逆转,Kingbase_cj迅速冲进前20名。接着便是揪心的卡题环节 ,终于在最后的两个小时,唐迪和欧阳典又戏剧性地通过了两题,最终使队伍高居第七位。在最后1小时的坚持中,已经看不到其他队伍的进展,Kingbase_cj最终以通过题数与第一名仅差一题,总名次第七名的战绩拿到了世界总决赛的入场券。

2013年7月3日,ACM/ICPC第37届世界总决赛在欧洲古城圣彼得堡举行。第一次参加世界大赛,远离了熟悉的环境与氛围。虽然热身赛的时候几位队员在摸索中克服了编写不习惯的困难,然而世界总决赛的题目,还是让他们有点措手不及。完全不同于国内的比赛的题目风格,题目的排列顺序也十分随机。对题型的不熟悉再加上对解题顺序的安排失误,他们最终在120支队伍中名列65名。“还是要学会在不调试、不用编译器的情况下,一次编写并通过题目,并能快速思考出各类题目的算法,”三个ACM队员总结道,“还需继续努力。好好准备,期待下次World Final。”

唐迪:兴趣决定高度

当被问及为何参加ACM比赛,如何在如此艰苦的训练过程中坚持下来,以及为何同时选择数学和信息安全两个专业时,唐迪的回答均没有离开“兴趣”二字。唐迪认为一名优秀的ACM队员应该是有兴趣、能坚持、有想法的,因为只有兴趣才能推着你一直不断。已经在ACM队伍中呆了3年的唐迪,把ACM当成课余的娱乐,在修位、准备考试的同时,作为队长的唐迪仍能挤出时间准备培训、管理ACM队伍,并在各方面都取得不错绩。从初的轻视比赛,到后来与代码的不断纠缠,再到赛场上的从容淡定并最终的挥洒自如,唐迪完成了从懵懂无知甚至略带孤傲到处变不惊、从容应对的完美蜕变。“ACM是自己的兴趣,也已经成为了自己的一种习惯,ACM训练中不断超越自己,是一种很刺激的感觉,通过在比赛中获奖亦能证明自己的能力。”这是唐迪对自己这几年ACM之路的总结。

回首自己的ACM征程,唐迪最大的感受是岁月如梭,遗憾自己没有挥洒更多汗水在赛场上。对于已经冲进世界总决赛的战果,唐迪也并不是十分满意,而是希望能在下一次世界总决赛中能够拿到更好的成绩。

刘均:训练随心,友情无价

“看情况吧,”这是刘均对训练强度是否过大的回答。常规的训练是每周二次,在特殊时期,则会进行高强度特训:一个月之中,每周五、六场模拟赛,每次比赛则要近四个小时。而对于在杭州赛区的优秀发挥,以及最终达到自己冲进世界总决赛这个目标的整个过程,刘均的叙述也是不紧不慢。世界总决赛之后,刘均对自己的表现也并不是十分满意,遗憾自己没有发挥出平时的水平。“在ACM中最大的收获是上课时的毫无压力。”刘均笑着说。相对于比赛,他更珍惜队友之间建立起来的珍贵友谊。从朝夕相处的队友身上,他获得了满满的正能量。谈到ACM队员的关键素质,刘均说出“冷静淡定”四个字。原因有二:比赛时经常会出现由于卡题而造成了大段落后的情况;许多时候,解不出题并不是出于能力的欠缺,而是脑袋一时短路的后果。“继续加油,”这是刘均最想对自己的战友们说的话。

欧阳典:其实我不是什么大神

欧阳典的脸上总是挂着一抹微笑,回答之前总要斜着脑袋思索一到两秒的时间。尽管编程能力惊人,并在竞赛中取得极好的成绩,他却总是谦虚的说:“其实我不是什么大神。”带着好奇,小学五年级的他便开始接触编程,而真正喜欢上编程则是在高一时,那时突然间觉得算法是很有意思的智力游戏。“编程是唯一一件让我觉得量变能够引起质变的事情,”这是欧阳典对于编程的理解。

从拿到题目不知如何下手或是频频出错,到只要看到题目就能快速解答,欧阳典花了四、五年的时间,才对编程找到了一种豁然开朗的感觉。正如他自己所说:“这是一个不断积累的过程。”在真正对编程产生了兴趣之后,欧阳典便愿意更多地花时间在编程训练上,在紧张的高中时期,同时做好竞赛和高考准备。他始终相信,心中有自己能解决一切问题的信念,就会有坚持下去的动力,也会取得满意的结果。许多不自信其实只是源于不愿意多付出努力而已。采访期间欧阳典不止一次提到自己十分佩服的杭州电子科技大学的一位学长,带领的小组曾经通宵在网吧编程,而相比之下自己付出的努力则显得十分微不足道。

现在欧阳典正在主修计算机科学的同时辅修经济信息管理专业,做出这样的选择是因为他认识到自己并不是十分适合学习数学。“我的连续性思维并不是很强,而是擅长于离散的模式。另外,我也比较喜欢经济信息管理系老师的授课方式,课上会有许多或经典或有意思的案例。”欧阳典如是说。

回到ACM,俄罗斯之行给欧阳典留下了很深的印象。除了赛场上紧张的气氛和较为陌生的竞赛模式,还有主办方为他们安排的丰富的活动。参观俄罗斯的皇宫、城堡、教堂、博物馆占据了他们行程不小的部份,而当地的饮食习惯也让他们体验了一把“寒食节”,而说起他们不习惯的口味时,欧阳典还略带微笑地不时摇头。

 

 

朱青教练:收获勇气比夺得金牌更重要

朱青教练平时总是奔忙于各个城市之间,平均每周就要出一次差,然而作为总教练的她仍然坚持每年至少带队二次。根据队员的个人情况,朱青教练会采取不同的训练方式:对于新入队成员倾向于算法培训,打下基础之后则进行强化训练。ACM竞赛要求在做题在时间、空间上都有效率,故大量的练习必不可少。朱青教练印象最深刻的就是在训练的过程中,常常一道题能卡壳一到两周的时间,而当问题最终解决的时候,那种放松与释然。当被问及上次竞赛仅以一名之差与金牌擦身而过,因此此次比赛是否有压力时,朱青老师摇了摇头:“担任总教练13个年头以来,我校6次获得金牌,3次进入世界总决赛。最初还未获得金牌时,对金牌较为渴望,如今回想起来,却觉得努力的过程比起获得金牌的结果重要许多。”ACM占用时间较多,参与的同学需要平衡学业和竞赛,在落下课程之后通过自身努力赶上进度并取得好成绩,需要一定的勇气和毅力,这种对能力和毅力的培养对于个人发展来说远比获得金牌更重要。许多早年参加ACM的同学如今都在国外发展,最早的金牌得主丁博麟在UIUC博士毕业后,即进入美国微软总部做研发。而许多银牌、铜牌的得主,如今也在加拿大、新加坡、香港等地发展。ACM队员由于编程能力强,常常被邀请进入实验室,以快速实现一些算法。而如今ACM校内赛更是广受欢迎,同学们都将计算机能力当成一种基本的素质,ACM带动了全校计算机学习的氛围。说到三位队员,“他们是我的金牌,在程序设计方面都很有潜力。”朱青教练面带微笑。

这些年,ACM领悟

已然不是新手的他们,对ACM都有或多或少的领悟。

赛场上,刘钧强调沉着应对,而欧阳典则认为临场应变十分重要。欧阳典说失误在每场比赛中不可避免,卡壳是十分常见的现象,此时他们采取的策略便是大家一起停下想同一道题。回忆长春赛区的竞赛,由于卡壳严重,当时的Kingbasa_cj排名较为靠后,几乎与奖牌失之交臂。于是队长唐迪一声令下,让队员们停下一同思考,终于题目解决之后,他们才逐渐进到排行榜前列,并最终获得银牌。

对于ACM新手,欧阳典有许多自己的分享:队员之间的配合十分关键。平日里,队员之间可以多沟通交流,增进了解,不仅限于关于比赛,更可以在生活上多接触;队员之间相互熟悉对方的代码,了解彼此的风格,可能有些繁琐,但这些在竞赛的过程中意义重大;对于每一个知识点都做到有一位队员十分精通,其他两位有所了解,竞赛过程中各自发挥所长,将优势整合到一起,能对解题有极大裨益;熟悉赛场结构也是很重要的一环,平时多参加Online Judge上的月赛能较快达到目的;对于英文题目,欧阳典个人的读题习惯是,先观察问题的数据,预测问题的大概方向,而后扫描问题背景,再细致读题;国际赛场上的题目风格不同于国内,许多题目看似简单,但实际操作则会出现许多问题,同时,国际赛场上不会出现国内有难度极大几乎无法解出的题目,由于进入国际赛场的机会不多,平时多熟悉类似的题目也十分有必要。

在采访过程中,三位ACM队员都提到:进入ACM,是否有编程基础并不是关键。关键在于兴趣和坚持,具备这两项,那么取得成绩便只是时间问题了。欧阳典和唐迪都十分强调大一打好编程基础,掌握基本算法。在大一下学期和之后的ACM培训,把握机会学习相关知识,经过一个暑假,大二便能够顺利进入ACM队伍。欧阳典还推荐了刘汝佳编写的《算法艺术与信息学竞赛》,对于ACM爱好者来说,十分值得一看。

附:ACM/ICPC大赛相关背景介绍:

ACM国际大学生程序设计竞赛(简称ACM-ICPC,全称为ACM-International Collegiate Programming Contest)是世界上规模最大、水平最高的国际大学生程序竞赛,被誉为“计算机领域的奥林匹克竞赛”。该项竞赛由历史悠久、颇具权威性的组织ACM学会即美国计算机协会主办,比赛以3人组队形式参赛,每队只能使用1台电脑,在5个小时内用C、C++或Java中的任意一种程序语言编写程序,解决10余个问题。第一届ACM-ICPC于1970年在美国举办,以后每年一届在全球各大洲轮流举行。历史上曾由APPLE、 AT&T、GOOGLE、微软和IBM担任赞助商,现任赞助商是IBM。

第37届ACM/ICPC总决赛由俄罗斯圣彼得堡国立信息技术机械与光学大学主办,经过上百场区域赛的选拔,共有来自36个国家和地区的120支高校代表队晋级本次ACM-ICPC 全球总决赛,参赛队伍分别来自麻省理工学院、斯坦福大学、卡内基梅隆大学、华沙大学、东京大学等世界一流名校,以及中国人民大学、清华大学、北京大学、上海交通大学、浙江大学、北京航空航天大学、哈尔滨工业大学、复旦大学等国内17所知名学校。