三天的西安之行,带着些许遗憾结束了,下面用流水账记录一下我的第一场regional。
24号早晨出发,下午抵达西安,之后坐上出租,在天黑的时候到了秦龙酒店,那个传说中可以泡温泉的地方。。。然后就是入住,见到好多其他学校的队伍,比较兴奋~
25号中午是开幕式,完了之后是热身赛。不得不说热身赛是非常重要的,特别是对于没打过比赛的人来说,一定要抓紧时间熟悉环境。因为我之前不习惯使用linux,上机以后试了几款IDE,又摸索了一下交题客户端怎么用,还好不是特别复杂。。。话说热身赛的D是最简单的题,我们三个人分别读了ABC,因为不是正式赛,也没急着去跟榜,大概是30min+的时候去看了D并A掉,至于题意不记得了,反正是水题。这是已经有很多队过C了,C是一道模版得不能再模版的题,求多边形体积和面积。虽然我们都不会计算几何,TBC开始对着模版敲,也不知何故,一直没有通过,可能是模版的质量有问题。最后留了十来分钟胡乱测一些东西。
晚上睡得还是比较香的,一觉之后,正式赛就要开始了。在体育馆门外的寒风中站了一会,终于开始入场,那个意气风发啊。。坐下后,我努力让自己冷静下来,然后怒喝一瓶红牛,开始比赛。就像事先安排的那样,LMS去敲头文件(居然还搞重启一次),我读A,TBC挑一道短的题目读。A的题目真是恶心,加上我比较心急,就没有读下去。几分钟后,发现有人过A了,我们就三个人一起读A。其实坑就坑在了它给的hint,如果不读hint,会轻松很多,但是我被那个hint搞晕了,反复读了几遍。英语是硬伤,没脸再提了。。大概快30min的时候,我已经不能忍了,征求了队友意见后,去敲A,就是判断n个数是否都能被3整除,1Y。接着跟榜看K,我隐约感觉和gcd有关系,就去敲了一个暴力程序和一个gcd函数,发现规律,其实就是两个数求gcd把商累加起来再加1。但是因为没有特判一个数为0另一个非0的情况,WA了一次,改过之后2Y,这个时候不到一个小时,排名大概100+,已经挺落后了,必须继续出题才能赶回来。
还是跟榜,发现F出得比较多,去看F,组合数学,大意是n朵花排成一列,m种颜色,给所有的花涂色,相邻的花不能同色,总共需要恰好涂k种颜色,问有多少种涂法。我提出一个idea,k*(k-1)*(k-1)*......*(k-1)*C(m,k),问了下队友,有没有办法迅速算C(m,k),都说不知道。之后我把这个idea告诉TBC,马上被他否决了,说是不能保证恰好涂了k种颜色。苦思冥想了一段时间,没有出现新的idea,感觉智商已被碾压。此时I题也出了好些队,我们都去读了下I,大意是IPv4下,给一些子网,求出数量最少的其他子网,使得它们占满整个地址范围。杯具的是,两位队友不懂网络,我花了好大功夫讲了什么是子网/子网掩码/地址范围。。。还讲了一个错误的idea,就让TBC去敲几个转换函数了。他敲的时候,我回头去思考F,还是一筹莫展,就那样纠结着,交替思考F和I。其实期间F有过接近正解的idea,把多算的部分减掉(即容斥原理,不过当时没有意识到那样做叫容斥原理),不过又考虑到复杂度等原因放弃了。TBC敲得差不多的时候,我也给出了一个I的解法:开32个集合,对输入的子网根据掩码的不同分别存起来,先处理掩码大的,一直合并到掩码为0。
TBC敲完了转换函数,我上去敲主程序。经过各种调试,终于能过样例了,然后自己出了一些数据,调着调着也能过了。提交!在我们想着逆袭的时候,裁判无情地给了RE。这时已经剩下不到1h了,之后就是各种改,各种交,直到结束出了七发RE,一发WA。。无奈离场,体育馆里又响起了《we are the champions》。该滚蛋了,果然还是no time for losers。
第一次比赛,没出现配合、策略方面的问题,还是值得肯定的,跪就跪在了自己太菜,说什么不适应环境、发挥不好,那都是扯淡。只有变得更强,才能拿到自己想要的结果。
总结一下需要注意的地方:1、好好学英语。2、不要一味刷题,还应当拓宽自己的知识面,多去涉猎。3、队伍需要磨合,三个人最好有不同的知识结构,最好彼此之间有深入的了解。