热身赛手感不错,前面三道题过的很顺利,最后一道题只想到了的解法,就开始和队友搞各种随机化和卡时限,三个人轮流提交鼠标点的不亦乐乎。赛前发现板子丢掉了,正赛那一天上午让队友重新打了一份,可惜太厚了订书机订不起来,将就着看吧。正赛当天,我们校区离本部很远,平常早八都起不来的我定了个七点半的闹钟,起来感觉晕晕乎乎的,感觉今天状态要出问题。因为中午要打比赛,lmy和zxt买了些吃的和水,我带了三条士力架,但事实证明赛中根本没心情吃这些东西。
开场签到还算顺利,上来zxt先去开了J题,看上去挺水的样子,zxt想了一会说有思路了要去开,但是看了下榜发现一道签到题,我切过去一看是道大水题,在字符串上扫一遍就过了。然后zxt去开J,开到一半我又发现一道大水题,同样是字符串,秒过。
之后我去看B,lmy在看M。B越看越像图论,而且不是很难的样子,就拉lmy过来一起看,他联想到前几天二进制拆位建图的一道题,我回想下思路找到一个的算法,感觉这题稳了,正好zxt把J题wa了一发,我就上去码B,很快搞完交一发wa,打印代码下机找错误,让zxt继续改J。后来发现没有判断无解的情况,而且边开少了,就回去改了改重新交,发现还是wa,继续打印代码下机找错,看了很久没有头绪,感觉代码写的太对了,就让lmy造点数据,因为样例太水。好在lmy造的第一发数据就把我叉掉了,调试一番发现建边的时候边权本来是0或1,被我搞成了2的幂,改一下重新交,T掉了。这时候我和lmy的第一感觉是被卡常了,他推了一下发现对每一位0或1只需要跑一遍,然后long long改int,scanf改快读,各种常数优化都加上去感觉稳了,交一发仍然T。我俩都懵了,因为按理说30N的复杂度妥妥能过。想了一下决定深搜改宽搜,改了五分钟改挂了,但是lmy突然想到一个的做法,就直接让他上去打,一发过,但是也浪费了不少时间。
期间zxt去看了L题发现能做,上去码到一半发现思路有问题就下机,我们仨决定先把J搞出来,测了无数组样例都没有问题,而且算法是暴力枚举,出问题的概率不大。我就去把zxt代码重写一遍再交还是wa。隔壁早就过了4题搞得自己心态很不好,然后全队一起死磕J,最后几分钟zxt把枚举下界从0改成-1交了一发居然过了。虽说还是4题,但是罚时爆炸,打铁了。
赛后看到群里有人说的算法都过了,下次超时了要趁评测机不注意多交几发。J用所有状态建个图跑最短路要比暴力枚举简单多的多。
总的来说这一场基本都是低中档题都是图论(或者说把题目抽象成图)和字符串,但是lmy一直搞dp,zxt一直搞数论,我一直搞树和数据结构,导致这一场对我们仨来说都是坐牢。想了下以后不能一个人专精一个方面了,交叉地学习,防止一个题思路挂了只能让一个人单打独斗,剩下俩人干着急。而且图论和字符串一直是我们队的弱项,我虽说搞图论,但一直在搞树上的,普通图上的水平还停留在高中,之前很队友提过这个问题,结果今天一下子全部暴露出来了。
最近做题也太少,签到的时候明显感觉到代码能力弱了一些,也有可能是比赛紧张,不管怎么样还是自己太菜了,离昆明站还有小半年,把刷题强度再提上来。