翘了中期检查来参赛心中有些害怕,前一天交待好后,12月5日下午来到上海,一行10人有说有笑,宾馆住下,晚上达神请吃饭,一切顺利。
12月6日下午开幕式,这次的领导讲话比较不同,幽默打趣,也了解了一些ACM在中国发展的历史。热身赛不幸又碰到了人品题,本着黑锅我来背的原则,从第8分钟开始到11分钟交了36发所有情况。后来发现直到第33发才是正确结果,而且由于评测机的问题,那一发成了36发中唯一没有判的。Kuangbin的模板功力深厚,所以其他题都是模板题,很遗憾没能做出来,据说C题是FFT。
12月7日正赛,一大早就起来了,为了圆一个银牌的梦想,之前准备也是相当充分,信心满满。开场还是wdd先写vimrc,我和wk一前一后看题,我发现L题有些像拓扑排序签到,于是叫wdd一起看,想了一会儿觉得不是签到,果断换题。后面的几题题目都比较短,我很快看完后几题,第一感觉是无明显签到题,但是可出题很多,只是榜上迟迟没有队伍出题。终于23min清华大学出了J题,这题明显是分情况列公式,可是推了很久都只把最大不能出线的情况推出来。后来又有队过了B,我们吸取上次比赛的教训,让wdd去看B。随后全场沉默了很久,很长一段时间没有队伍过题,静得让人窒息。B题出的队伍越来越多,wdd向我求助类似二维快速求前缀和的解决办法,我第一直觉是二维树状数组或线段树,但是发现数据范围不允许这么做,卡了一会儿,依旧沉默。大约在快到2个小时的时候,刷了一下榜,不知为何,I题突然出了很多队伍。我和wk仔细想想觉得线段树可破,我就上去敲了,我的方法是排序后二分找到攻击力大于等于敌人防御力的区间,用贪心策略选择其中的点并标记。我对自己的数据结构功底还是比较有信心的,代码也很快写完,但是wk提出了更新中的一个问题,我想到解决办法并和他讨论后三个人正式开始各搞一题,wdd开B,我开I,wk开J,貌似都做出来就可以银奖了。我对代码做出了比较大的改动,线段树维护了除区间外的四个变量,越写越多,硬生生写了280多行,调试了一会儿,打印代码,换人开其他题。后来赛后得知sw用二分+multiset过掉,我也不是没想过stl,只是用multiset比较少,对时间效率没有太大信心;而cdd那队的过法就更令我悔恨了,和我的想法很类似,只不过我是一开始就把所有点插入线段树,而他们则是用到再加,所以维护的量少了,写法也简洁了很多,我想如果用这种想法,也许半个小时就足以过掉这题,但是现场的我只有无尽debug打印的4页代码。时间很快就到了最后一个小时,wdd说他崩盘了,B题估计出不了,wk也没有什么动静,我才有了一丝不详的预感。过了数据后终于有了一发提交,返回WA,错的不明不白,wk最后半小时拍了一发J,也是错的不明不白,遗憾结束。后来得知mathlover等多名大牛打铁,心中也不免惋惜。
上海邀请赛、牡丹江亚洲赛,两次都是因为极其逗的问题错失银牌,平时我们也都开玩笑说天国的银牌,没想到这次却成了天国的铜牌。闭幕式草草收场,滚回南京,真是无颜见江东父老。
如果说把这次的失利单纯归于实力问题,我是绝对不服气的,毕竟这三道题都是能力范围内的,为何会三个人都这样,我也不是太懂。也许真的像老板所说一样,真的是捅破了这张纸,就会有新的理解吧!
在来上海之前,wk说打完就退役,wdd也说打完就滚粗,但是听完题解后三个小学生一致表示不服,相视一笑,不说太多,ICPC不说再见,明年再战。
原文地址:http://blog.csdn.net/accepthjp/article/details/41847617