赖陆航IOI2010参赛总结2010-09-06 10:00:00阅读量:30714
我很荣幸能参加在加拿大滑铁卢大学举行的IOI2010。
早在来北京之前,我们就接到通知,IOI2010的比赛形式与题目类型较以往几届有很大变化。在研究规则后发现,今年IOI每试各有4道题,每题只需实现若干个函数,且题目在线提交后都会返回一部分得分情况,选手还可以使用有限的token资源获知全部得分,场外人员还能查看所有选手的得分表。也就是说,比赛的形式与Topcoder和ACM各有一些相似之处。我们还发现,在IOI网站上提供的3道例题中,有2道是交互题,然而IOI规则中并没有明确指出这一点。后来王老师为我们准备了两份关于加拿大信息学奥赛的资料,一份关于如何命题,另一份则关于开放式题目,我们也忽略了。但后来的事实表明,由于国内少有对上述方面训练,且大家没有引起足够的重视,选手的发挥受到了很大的影响。到北京第二天,我们四位选手参加了IOI2010热身赛。我本期待这场比赛会让我们熟悉今年IOI的比赛形式与题目类型,没想到只是一场题目很老(吴翼说他全部做过)的ACM个人赛,而且具有讽刺意义的是,这场比赛中我们四位选手的成绩排名与IOI恰好相反。
8月14日下午,我们从首都机场出发,前往加拿大。经历约13个小时的飞行后,我们到达多伦多机场,然后做巴士到滑铁卢大学。在餐厅,我们见到了彭泱与向导冯光宇。彭泱是IOI科学委员会委员,在竞赛方面为我们提供了很多帮助,后来还带领我们游览了多伦多。冯光宇是滑铁卢大学的学生,每次活动都会通知我们并同行,还为我们解决了很多沟通问题,与我们度过一段非常愉快的时光。能认识这两位学长真是我的荣幸。我们选手被安排在学生宿舍,宿舍是二人间,美观而整洁。房间内没有空调,但夜晚十分凉爽,窗外还能看到校园的美景。餐厅提供的三餐都是西餐,比较丰盛,虽然有米饭,但我们还是对此有些不适应。北京与滑铁卢有12个小时的时差,到宿舍时已经是当地时间的夜晚。我们在飞机上休息得不是很好,过两天早上就要进行第一场比赛,时间比较紧张。而有些国家提前一周到达以适应时差,这也是我们的某种劣势。
竞赛在体育馆中举行,4人围坐一组。本次IOI编程环境跟国内类似,不过可用的IDE比较多。使用后发现,本次比赛专用的RunC环境较难用于调试。练习赛使用的是IOI网站上的例题,因此我们只对比赛环境有所熟悉。第一试拿到题后,我惊讶的发现4道题中居然有3道交互题。第一题Cluedo是比较简单的交互题。第二题Hotter Colder是很难的交互题,我思考了好久也得不到最优解法。第三题Quality of Living是不难的传统题,但由于我思维的缺陷,我花费了较长时间才做出它,与其他选手拉开了很大的差距。如果尽快解决并将多余的时间花在第二题上,也许就能得到一个更高的分数,这不得不说是一个遗憾。第四题Languages是新颖的开放题,我只用了少许时间就得了98分,这是本次IOI中最令我满意的一次表现了。第二试4道题中有2道交互题,1道提交答案题。第一题Memory是十分简单的交互题,简单程度堪比NOIP普及组。第二题Traffic Congestion也是简单的传统题。第三题Maze是提交答案题,这类题我并不擅长,写了好长的程序,发现生成的解相当劣却束手无策,真是痛苦难当。第四题Saveit是新颖的交互题,但我和其他两位选手在前一天讲座讨论的影响下,都在尝试错误的解法,用去了过多的时间。总之,这场比赛再次暴露了我的一个严重问题:陷在错误思路里无法自拔。如果把我的思维过程比作回溯法搜索,那我缺乏一个好的估价函数与剪枝条件,总是在一些较深较劣解中徘徊。这些问题还值得我改进与探索。
在本次IOI中,我们有幸能见到许多只在网上看到过的优秀选手,例如白俄罗斯的Gennady Korotkevich,他已经多次夺得IOI金牌,且这次又获第一名。很多外国选手见到我们都会打招呼,我们也会与他们交流、合影、交换礼物。最令我们印象深刻的是,在开幕式上,坐在我们后排的克罗地亚选手送我们每人一顶帽子,还为我们戴在头上。在与外国选手交流的过程中,我遇到的最大障碍就是英语听力。常常需要让对方声音放大、语速减慢、重复多次,这样我才能听懂。但是有时也免不了尴尬,有一次对方连说了三次我都没有听懂,他只好露出了情何以堪的表情。口语上的问题略微少一点,因为我只需将意思表明就行了,不必在意语法问题。若实在表述不清,写在纸上也是一个可行的办法。进一步交流后我发现,由于国内外教育方式的差异,外国选手虽然知识点掌握没有我国选手多,但是思维十分灵活,常常能在朴素的想法中挖掘出新意,相比之下,国内竞赛考察了很多套模型的能力。由于这次IOI的考察侧重点正是这个方面,我国选手略显劣势。这也是我们需要改进的地方。
这次IOI是一场令我永生难忘的经历。OI生涯虽然结束了,但对科学的追求永不终结。