ACM-ICPC Regional 2010 Hangzhou Onsite

Ranklist: http://acm.zstu.edu.cn/summary.html or http://www.zlinkin.com/icpc2010/zstu_onsite.php

Navi@NFA, Zhejiang University

传说因为节省资金,今年浙大五个队都派往杭州赛区。其中4支正式参赛,1支旅游。又因为在杭州,所以又可以省掉一天的住宿费。因此22号的报道由教练完成,而我们在杭州赛区的记忆是从23号开始的。

10月23日(土)
早上9点30新桥门集合。结果众人纷纷晚到,而且asmn和Fancy最后决定从鼓荡走,顺便去放包打印东西啥的。包括我在内其他人果断新桥门出去黄龙公交站坐B1区间。不过出来了才发现没有人知道公交站的具体位置,于是一路走,一路google map,终于找到了传说中的公交站。进站期间还被开走了2辆B1区间,结果我们一进站就等了好久才等到下一辆车 >_<
一路颠啊颠地颠过去,在shi哥的建议下我们在六号大街五号路口下了,结果泪流满面地发现还需要过3个红绿灯然后再走好几百米才能到……于是一群人背着大包小包走了n久终于到了传说中的(凯恩戴斯|凯恩大酒店)。不过因为只有一间房间可以入住,所以众人都挤到那间房间里面。进房间后asmn果断从包里拿出xbox,接上房间的电视开始玩 -.- 后来稍晚去旁边某店吃了个饭,之后回宾馆拿了东西就急匆匆褰往赛场。
褰到赛场已经迟到了一点,但是众人都还没入场。据说是因为去阿里的众还没回来的原因。后来好不容易可以入场了,我们在46号机器,ZJU队伍里距离我们最近的ArcOfDream在23号。然后环顾四周发现有好多mm队。其中我们的左边、左后、左后左、前前(下前下前拳)也都是mm队。AekdyCoin神所在的Goldbach在56号距离我们也很近。
之后是试机赛。gvim还是没,不过gedit不像上次天津的那么bug了。很快我上去秒了A,Fancy上去搞B然后被asmn bs算法大材小用也过掉了B,唯独C没有啥想法。正常的做法算了下大概要54000亿左右的复杂度……不过反正也想不出更好的算法,就这么写了,结果就过了。之后试了下机,发现和天津一样没有PE,judge没开优化,题目不给TL等。
试机赛结束之后去传说中的桂花园吃了传说中的自助晚餐之后就回宾馆了。
晚上我们贯彻我们队的“好传统”,又看了非诚勿扰(这都是在天津的时候asmn跟我们说看了第二天就能圆满)……之后果断回房间早睡。

10月24日(日)
早上听说asmn和Fancy昨天打xbox打到12点,于是果断pia之。酒店的早餐还可以,但是东西很少。之后退房以及在大雨中坐专车去赛场。在赛场外等了一会儿之后就可以进场了。
开场依旧asmn看ABC,我看DEF,Fancy从后往前看。我看完D发现应该是道可以暴力搜的题目,这个时候asmn和Fancy分别看了A和J,于是互相讲了下这3题。我们一致觉得A挺有前途,然后asmn又想出了J的搞法,于是asmn上去敲J,我来推A。Fancy继续看题。(赛后asmn说J题他因为不会用扩展kmp的模板所以敲了个AC自动机—_—)
过了一阵,H有人过了。Fancy就去看H,看完之后跟我讲了下,果然是水题,我上去写很快1y了。
这个时候我大概也想了A的一个贪心的做法,就继续占用机器写A,asmn则继续看题。
很快asmn看到C是水题,跟我大致说了下题目之后就上来敲了,果断成为全场第一个过C的人。
我继续写A,其中BigInteger的一些方法的名字不熟悉还开了netbeans用自动补全查方法名。写完后交,结果wa了。
asmn继续写他的J,很快也1y了。此时我们3题,排名比较靠前。
之后我继续搞A,Fancy则各种看题以及帮我想A的搞法,期间他跟我讲了I题的题意。然后后来看到F有好几个队过了,于是让Fancy去开F计算几何题。A在又wa了2次之后被Fancy发现算法比较有问题,于是我放弃搞A,让asmn跟我讲剩下的题目,然后Fancy上去写F。F写了一阵之后发现sample没过,于是Fancy把代码打印出来下来调,asmn上去写B,我想了想I题。
过了一阵Fancy很囧地没发现错误,于是上机去调试,结果居然什么都没改直接过sample……大囧,交了之后果然1y。此时还没有其他题有队伍通过,于是asmn继续敲B,我和Fancy去yy其他题目。
I题我想了个从四个方向分别做的搞法,结果后来被asmn发现每个点可以被多个区间覆盖。Fancy想了E,但是因为之前一直没有注意到一个很重要的条件,所以一直想不出好的方法。
圡asmn调完B之后就交了,结果返回wa。asmn很快发现有个地方不对,改了之后交,又wa。然后发现同一段代码少改了一个地方,又要交。我和Fancy严重bs了下让他查清楚了再交,结果他信心满满地说一定过的,结果果然又wa了。之后就在那段代码里面改了改交,还是wa……后来在我和Fancy的严重bs下他发现那段代码很有问题,于是改了好几处地方之后终于5y了。
之后果断开D,我想上去写人肉,结果asmn说最暴力的搜法没问题的,所以他就上去写D,我开始研究G的实现了。E题Fancy重新读题终于注意到了那个可以被直线分开的重要条件,不过也没什么时间给他开题了。D写了好一阵,并且优化了下之后2y了。
这个时候6题在所有队伍中排名第五,除去旅游队之后是第三,而且board里前十名大部分都是旅游队。之后我开始搞G。很快封board了。前面的SJTU的Luminar以及WHU的OpenLegEnd OpenLegend都是8题,TSU的DivineRapier是7题,ZJU的ArcOfDream是6题,领先我们几十分钟罚时而踩了我们一名。
最后一个小时就是在我写G以及asmn和Fancy合力想A中度过。其中我中间nc过想不出lca怎么算距离被asmn无情bs了,然后因为我写的tarjan的lca算法asmn和Fancy都不懂。于是我在wa了之后打印出来还先把tarjan的lca算法给asmn讲了一遍。发现了几处错误之后在打印纸上标出来上去改,结果还是wa。而他们的A也wa了3次找不出错误。最后在我自己出的一组case的帮助下我发现刚才在打印纸上标的错误有一个忘记改上去了……最后半分钟加上那段话,然后疯狂注释调试信息……终于在最后大约15秒的时候交上了。
比赛结束的时候去围观ArcOfDream发现他们最后在搞E,差一点,没有过。扯了一会儿淡之后Fancy回头望了下我们的电脑,喊了一声好像是绿色的Yes,然后就往座位走。我也跟着走回去,还跟他说怎么可能。结果到了之后一看果然是G题的Yes!大赞!我们都高兴得喊了出来〜
在封board之后,我们前面的队伍只有TSU的DivineRapier过了A题变成8题,而除了我们之外其他6题的也都没有继续过题。因此我们成为唯一一支7题的队伍。在扣除旅游队OpenLegend之后排名第三。
赛后我们一群人就在会场的看台上三国杀,或者在边上玩电脑和xbox。杀完一看时间已经六点多了,囧。于是飘去颁奖晚会的地方。晚上各种表演和各种颁奖之后发现杭州赛区前三都有奖杯。于是泪流满面第一次摸到Regional的杯(天津第二都没有 >_< )另外阿里还给所有金牌发了个支付宝的校招达人直通车PASS卡,于是我这种前几天刚拿了淘宝实习Offer的人只能一脸囧相……(反正支付宝上班地点又不一定比淘宝近,我不就是图近么...)
结束后,一群人步行穿越整个校区以及若干街区,到达传说中的公交站坐B1区间回黄龙,之后在七食晚饭之后各自飘走回宿舍。

まとめ:
前期依靠asmn的迅速搞定C和J还算比较顺利排到一个比较靠前的位置,但也因为我没能及时发现我A题算法的问题浪费了不少时间。F题那个诡异的编译器问题也浪费了我们估计有15分钟时间。之后是B题[圡]asmn乱交导致多了不少罚时,D题也写了有一段时间。最后G题虽然是麻烦题,但是也因为我上一次写lca大概是2年前了,所以没能很快把算法实现出来,花了挺久的时间。
虽然赛后题解说A是用dp,但是我们还是觉得是可以用贪心搞的。所以如果我们前面的题目做得比较快的话,或许大概还是有一点可能搞出A的。至于E我们估计省不出那么多时间来搞了。

今年のまとめ:
NFA在今年的Regional带着一个第二、一个第三的成绩顺利谢幕。自NFA在8月19号的第一次训练以来共经历了67天。感谢两位队友,感谢集训队的qss,感谢jls,感谢all帮助过我的人。