第38届ACM/ICPC亚洲区域赛杂记(BY TY)

       现在来写东西,可能确实没有赛前那么多压力,因为杭州顺利拿牌,达到了我的预期,所以心情轻快了很多,还是先回顾一下两场区域赛。

2013/10/18 成都站-打铁(未获奖)

       前期还是很顺利的,开场以后,第一题很顺利,计算固定内存由1000画到1024的内存损失,陈很快想到就是计算1000/1024x次方同时提出直接搞会不会有精度损失,确定x最多为8,保留两位小数应该不会有问题,陈开始敲,我看,敲完就Yes了。然后我和陈看H,队友何看A得最多的J。确定题意后开始和陈讨论能不能在最小生成树里面来构造求解,然后就开始各种枚举构造,最后商量着能不能通过构造出两课树,最小生成树和最大生成树,然后枚举两个树的权值范围,陈提出疑问,我很快用关键边的想法消除了疑虑,陈说没问题,他继续分析整理,我开始敲。这个时候何过来看我敲,很快敲完,编译通过,测了几组样例发现没问题就交了,很快返回Yes,很兴奋,看了一下榜,在银牌区,很是满足。接下来悲剧就开始了,陈问了一句,现在拿牌稳了没有,我当时脑残的想都没想说应该稳了。从这里以后我们就开始各种悲剧各种坑,我和何继续想J,陈读了剩下的A,B,I,发现B,I是模拟,剩下一个不能确定,不过是对图的处理(天坑,到最后我也不知道A的题意)。我和何想J大概想了40分钟,确实没多少想法,然后我们就讨论着要不先选一个模拟题来敲,然后看了一下榜,就BA得最多,为了不让3个人卡一个题,队内讨论后,我开始构思B题,5分钟后我开始敲B(这个时候我已经完全在乱搞了),后面就一直悲剧了,B题就是一个坑,越敲越觉得不对劲,越来越多的细节需要处理,到最后直接三个人全部做掉坑里,就这样我们搞了3个小时B题,到最后交了10多次也没A,眼睁睁的看着排名从银跌倒了铁,成都就这样悲剧的打铁了。

2013/11/27 杭州站-铜奖

       开局第一题我就给坑了一下,处理数组的旋转,刚开始可能有点小紧张,磕磕碰碰的敲完没过样例,陈看了代码,改了两个地方,瞬间过了样例,手造了2个数据,发现没问题,检查以后交了就A了,然后开第二题,何很快解释了题意,讨论后发现就是简单的广搜+暴力枚举,确定思想后就开始敲,第二题我心态稳定了,敲得很顺利,只是中途脑残的忘了next_permutation()函数的用法,何很快帮忙敲完,检查以后测试没问题,交了就A了,总之前两题还是达到了我们的预期,不快,但是很稳。然后开始第三题,陈和我想第三题,何看一个状态压缩DP的题,陈对第三题提出是不是二分匹配,分析后发现二分匹配能处理出来的概率不大,我们开始想能不能通过贪心构造出结果,发现特殊情况始终不好处理,然后提出一种暴力枚举+贪心验证的思想,算了一下时间复杂度,最坏情况下可能达到50亿,太高了,放弃了开始想其他办法。我去上了个厕所,路上一直思考除了贪心这种题确实想不出其他什么办法,回来陈就给我说题目有个细节遗漏了,瞬间前面算法时间复杂度降到了百万以下,和陈讨论后想想没问题就开始暴力枚举验证+贪心,中途我脑残有个简单的处理卡了一下,陈说出自己处理的想法,理解后很快搞定代码,这个时候陈已经造好了十几组数据测试,测完全部正确,交了后台很快返回了wrong,这个时候已经3个小时,我心态开始波动,打印了代码我坐一边检查,陈继续想特殊数据测试,很快找出一组错误数据,是初始化的问题,然后开始改,改完后测试没问题再交,这个时候已经3个半小时,等待后台测试结果的一分钟里试题卷都快被我捏烂了。很快显示器又返回wrong,这个时候,我开始乱了,很着急。陈让我换个题看看冷静一下。于是开始和何一起看J,听他说了下题意,完全听不进去,不过隐约感觉比较难,这个时候已经接近一点,觉得有点饿,不敢吃东西,怕吃了困,开始找带的红牛,队友说已经给我打开了(真温馨)猛喝了一口,本来想停五分钟再来想,突然陈又发现一组错误数据(杭州赛区陈造数据的质量确实很高),看了以后发现是其中贪心策略中漏掉了一种很重要的情况,很快改掉,开始找陈确认,这个时候已经快到四个小时,发现陈也已经有点晕了,看我比较确信又验证过所有手造数据就交了,很快返回Yes,这个时候离比赛结束还有1个小时,我出去上了个厕所,走了一下,呆了五分钟,回来后我们开始讨论最后一个小时怎么分配,这个时候已经开始封榜,听了下何一直在想的J题题意和他的想法,发现是一个不太擅长的状态压缩DP,就换了另一个题,又发现可能是离线+线段树+?,2个都比较难搞,应该是银牌区的题,这个时候我已经彻底乱了,时间也不多了,草草的和陈还有何讨论了下,没有讨论得很清楚就想乱搞一下J,由于时间不多了,虽然完全没有确认算法,队友还是放我去敲了,由于DP实在太弱,发现很多地方都不知道怎么处理,敲到一半就敲不下去了。最后何提出来一种更加暴力的做法,果断敲完交了TLE,这个时候比赛结束,最后停留在了铜牌区。

       两场比赛从头到尾都是惊心动魄。对于弱校ACMer来说,为了区域赛,我们差不多都准备了2年。

       回想为了准备区域赛而组队训练的最后几个月,太辛酸了,简直是一部血泪史,这种感觉可能只有我们三个人清楚。川大,电大,多校,我已经不记得我们在各种比赛中被虐了多少次了….50遍,100遍还是更多?这些感觉加到一起也没有成都赛区打铁来得透彻,我第一次看到了陈低头不语,第一次看到何抬头苦笑,而我也是心灰意冷,借华哥的话“真的是开始怀疑人生了”。我相信在每一次比赛失利后我们队每个人都怀疑过队伍的实力,队友的实力或者自己的实力,但怀疑以后还不是要继续做下一场比赛,继续学习下一个算法,然后继续被虐,特别是暑假的多校,借陈说的,简直都被虐出翔了,真的是“多校虐我千百遍,我待多校如初恋”。身边如此多的牛人,有些时候根本不会给你太多的时间去顾忌什么感受,因为机会转瞬即逝。

       和陈还有何组队这几个月是很开心的,只不过交题不是那么爽了,因为组队后每次提交所返回的Wrong或者Yes都不再属于我们个人,而是团队。所以每次提交都有压力,记得在杭州的时候第二个题敲完我都不敢交,让陈来交,现在想想确实奇葩。说实话,HTC(我们队名)就队伍实力来所确实有一些问题,比如赛后总结和版块的磨合啊什么的,不过不可否认的说,队友在组队后对ACM投入的精力确实比以前“单兵作战”的时候多了很多,确实看到了对ACM比赛的重视。刚到杭州的那晚由于在火车上接近2天没有敲代码,晚上6点多我们还挂了场2012年金华赛区的题做练习,说只做3小时,结果做了5个小时,做到了晚上11点多,A掉最后一题的瞬间我们3个都激动的吼了一声,完全忘了我们在酒店而不是实验室,这种A题以后的喜悦和快感可能只有每个ACMer才能感觉得到。

       杭州赛区颁奖典礼结束后和蒙古国的ACMer合了影,比赛的时候我们就坐他们对面,热身赛结束后还问何C题怎么做来着,可惜当时我队英语最好的陈不知道状态压缩DP用英语怎么说,囧。问我们要了邮箱,还问我们明年是不是继续参加区域赛,我们说maybe or not!。然后商量着去浙工大食堂把剩下的6,7张餐劵给用了,免得浪费,回去拿了餐劵。路上大家都很开心,陈一直说要找个杭州的萌妹子合影,何说要给哪个妹子表白之类的。走到食堂发现已经没有饭了,然后我们就用剩下的7张餐劵换了几瓶可乐+18个橘子(天杀的,听说刚开始一张餐劵换6个橘子,我们去得比较晚就给我们换3个)。食堂没东西吃正好我们打算出去喝点小酒小小的庆祝一下,吃饭的时候分别收到3个室友的信息,顿时感觉好温馨。何和陈也不断有电话过来询问情况。回来的路上陈说唯一的遗憾就是没有拿银,我楞了一下,确实,可能是前面打铁的缘故,对于第一次参加区域赛的我们来说,拿铜让我们感觉很知足,但实际多少还是有一点不甘,和最开始想的成都拿铜杭州拼银这个想法差距太大了。很遗憾我们队一直也没能达到能稳银的水准,这一点确实很无奈,其中的原因,确实是值得我们队三个人好好总结的,相信其中还是有很多值得我们去反思的东西,不管是对ACM还是其他。最后想起了徐勇在成都安慰我们说的话,“成都打铁只会让你们在杭州拿的牌更有价值”,确实是这样,不管区域赛奖牌代表了什么样的编程水平,我只知道我们队每个人都很珍惜同时很热爱杭州这个奖牌。总之,晚上大家都很开心,至少完成了基本的目标,悬着的心终于落下了,可以睡个踏实觉了。明天听说去西溪湿地和西湖,希望能耍开心。

                                                                                                  2013.10.27  杭州

 

 

 


你可能感兴趣的:(acm)