冬天来了之后,一直没有什么伸展躯体的欲望,于是宅在寝室的时间愈发的增加。 加上个人平时不干什么正事,于是倍感无聊。 想来最后决定把今年的比赛情况总结一下。
总体来看 有喜有悲,总的来说算是悲剧的,因为去年定下的出线的目标没有达成。喜的方面就是意外的在腾讯拿到了奖金。
接下来就是就我所能回忆起来的部分写一下
1.TCO TopCoder Open应该是上半年最早参加的一系列的比赛,比赛时间非常的囧(通通在凌晨12:00 ~ 1:00左右比),最开始是和epic每次跑到网吧去比,后来寝室有网了,就靠着笔记本的电(晚上不供电)在寝室奋斗,最后是在300进120那一场的时候(第几轮忘了),先是一个失误,导致500分题只拿到很少的一部分分,接着cha阶段开始不久发现一个错误代码正打算cha的时候,笔记本没电了(忘记调节成节电模式了),第二天起来就悲剧的发现只有150+名,于是TCO比赛就到此结束了。 这段时间Rating倒是一路涨到了1900+,然后就再也没有这么好看过了= =
2.武大邀请赛 这个是我,epic,和所长第一次组队出去比赛,我们队伍第一次比赛的成绩非常的悲剧。配合和发挥都很糟糕,现场只做出来了4道题,还有一道水题甚至我们从头到尾讨论了半天都没理解题意。当时的实际情况是做4题:
A. 给定水杯中水的体积求高度。 二分高度,求积分
E. NamePK 模拟题,比赛时连乘初值设成了0,wa了若干次
D. 求节点数为N的堆有多少个 组合,结果可递推,计算出左子树和右子树各有多少结点
C. 给定一些AI之间的对战的经验及收益关系,求最佳对战方案使收益最大 简单的状态压缩DP
而实际上余下的题目也不怎么难
自这次比赛之后,我一直在考虑组队策略方面的问题,可以说我们队伍现在的情况虽然不能说好了很多,但还是比当时更令人满意的多了。
接下来大概有Baidu组织的A*Star,网易Youdao组织的有道难题,和腾讯组织的TIC,这几项比赛的时间基本上都差不多。
A*Star的初赛公有两场,其中一场是正好我上课,于是就不能参加,另外一场记得是周末的晚上,当时我们队正好参加完DHU的邀请赛,我个人感觉非常的累,于是今年的A*Star就非常遗憾的错过了。
3.DHU邀请 说到DHU的邀请赛,算是我们队第一次表现稍微好一点,但是其实过程非常诡异的一次比赛。简单回顾一下比赛过程,大概就是大家先分题看,然后我看了A, B, C都有少量想法,一刷board,发现有人3min出了B,于是B果然按照我的想法应该是对的,于是我也果断跟上在6min过掉,然后epic看到了G是一道简单的模拟,于是我写了过了,这时候发现我们是全场唯一一个过了G的。而大家过A和D比较普遍,而在我写G的时候,所长和Epic就D的题意一直在争论,于是我就浏览了一下D,发现可以直接DP,于是写了2Y,这时非常神奇的事情发生了:我们队凭借题数领先了,而且罚时也很乐观。然后在这段欢乐的时光中,我决定把一开始A的想法实现,就是按层搜索再有乘法原理,写出来交上去,结果直接1Y,继续保持领先,这回我们可是非常的激动了。接着我搞I,epic写J,所长构思H。但是非常悲剧的是虽然我努力的把I5Y了,其中经历了各种错误,当时对于大数字的处理还不怎么熟悉。然后我们一起帮Epic找J中的错误,到最后都没发现就是时间处理的时候h应该除12而不是除60。结果只悲剧的拿了5题,不过当时还是顺利的凭借前期出题快,一直领先的罚时优势拿到了金牌。
这次比赛应该算是一个转折点,我们队的风格慢慢向我写代码的方向靠。然后这次比赛也算是激励了我们,因为我们队之前一直在各种悲剧之中挣扎,而这之后比赛就明显有底气很多。至少其让我们相信了我们是有能力的。
4.有道难题 有道难题是网易旗下的Youdao和TopCoder合作组织的比赛,所以比赛的模式就是选用的TopCoder,也算是我最不擅长的一类比赛。究其原因就是TopCoder结合了两个特点:1.acm选用的提交时间作为评定参数,这使得你不得不加快你读题/思考/Coding的速度
2.OI采用的赛后System Test这样的方法,使得你一旦出现错误,只有在Failed Test的时候才能懊悔。
由于我平时也参加一些TopCoder的比赛,所以代码的速度上看还是不错的。但是准确性这方面还有待加强,于是结果上就变成了在初赛和复赛中非常顺利的出线然后到了现场赛,两场都比的非常的失常,第一场250分是简单的统计,500分是状态压缩DP,1000分是博弈题,SG+DP,结果我果断全挂,第二场250是简单的组合,500分是二分答案,1000分是2-SAT,1000分时间不足自然写不出了,500分写错一个特殊情况又挂,于是悲剧。自从这个比赛的失利之后开始慢慢注意起1Y率这样的东西了。
5.腾讯Tic 腾讯这个比赛其实在比赛方面组织的不怎么样,直接使用的POJ作为比赛系统,还出现了在网上复赛最后一小时Server挂掉的悲惨情况(虽然那时我已经4题然后去做别的事情去了)。现场赛在深圳大学的机房内比的,现场人数大约为70左右。题目5道,ACM赛制,4小时,题目还不怎么容易。
现场赛第一的很诡异的地方就在于没有安排座位,于是就大家随便做,最后就发展成为我的对面是一群THU男……,然后比赛开始后,我决定敌不动、我不动,先慢慢看题。题目是中文题,还比较好看,A题是一个分数搜索+网络流,B题是一个树形DP+决策凸完全单调性,C是个很囧的模拟题,D是一个不好归类的图论题,E是一个Imba的DP,但是数据量巨大,估计要用数据结构来加速。我题目看完后决定写D,写了大概30min发现完全想错了。于是下定决心去写A,因为这时候board上只有A D有人出。A写得非常的悲剧,写完后交上去Wa了,因为好久没有写过最大流了(模板的悲剧),总以为是自己写错了,结果调了好久好久发现居然是有一个memset的函数的参数填错了= =,当我过A的时候已经过了2h30m了,这个时候我大概在20+名。由于在反复纠结A的时候,G突然茅塞顿开,于是在20m后,G又AC了,这个时候到了11名,还剩下1h。稍微考虑了一下,我决定努力的实现B。在大约剩15min的时候,B的第一个版本好了。交上去之后等待,一刷新又说20s内不得刷,然后就直接根据board判断没过,于是写个一个程序对拍,发现没拍出错误,于是看state,发现居然是TLE,于是赶快修改了一下程序,交上去,又不得刷,于是看Board发现AC!,此时已是最后3m,瞬间进入5名。然后成功的混了一个三等奖的奖金。
话说腾讯这个比赛虽然不是特别有气势的感觉,不过1周的参观倒是非常的爽,尤其是在海边的宾馆住的一晚以及在海边玩,真是非常Happy。
过了暑假之后的比赛应该就是Google Code Jam,然后因为我们军训故没有参加。再之后就是各Regional的网络赛和现场赛了。
我们现场是去了上海和武汉,和邀请赛情况一模一样:) 上海坐ghy对面,武汉做dd对面。然后赛况是这样的:
上海Regional 所长和Epic分别读题,我先准备环境再抽题目读。发现B题数论可以上,于是我就上了,写B题的过程中,发现A题过的人比较多,于是Epic准备了A题。我写完B,交上去Wa了,打印后换Epic写A,A也做得不是很顺大概在2h后我们在把A B 双双过掉。而且BWa是因为我开始算法本身就有问题,所以查了很久都没发现代码上的错误。然后再莫名奇妙的状态下我们把J弄出来,到调AC已经4h30+m,然后我努力的想实现I,已然不行了。
上海最后只有银牌还是给了我们比较大的打击的,因为我们当时还是做了很多的准备,状态也比较好,带着非常高的期望参加的,然而结果却比较令人不满意。之后的一周我们又针对这次暴露的问题,做了一些准备后,就去参加了武汉赛区的比赛。
武汉Regional 武汉的思路就是全程我来写程序,然后所长和Epic来提供算法。事实上一开局我就出现了一个重大的失误,导致了D这道水题卡了我们一直到2h之后才过,当时名次已然非常悲剧了,不过好在之后就比较顺风顺水,一路AC,最后顺利6题拿下金奖。就是可惜开始拖了太久的时间,导致罚时异常的悲剧,无望出线。
于是今年就这样以1金1银的战绩结束了。结果不能算作满意。在做过考虑之后决定明年还是继续这个至少对我来说非常理想的活动,特别是还有专程打电话劝我继续的好友。不过既然我决定再继续,那么明年水平还这么菜的话想必会很伤脑筋的,所以现在开始好好学习,好好准备,并且努力试着在年底前先把Rating弄到2200以上吧。
2009-11-29 凌晨 @ Tongji Uni.
冬天真是一个神奇的季节。