acm2015北京区域赛游记

一只完全由大二组成的队伍第一次参加区域赛,最后压铜尾,这可能是上大学后做过最刺激的事情了。。

不像许多其他的大神,,接触算法时间太晚了,都是大一才开始学C语言,跟大部分oi大爷比起来差太远了→_→

→_→当时比赛的时候后面就坐着3个清华的大一,然后全场第二,只能说现在的自己还太弱


开始比赛后一开始看题,,看了好久都没看出哪个是水题,后来第8分钟有队伍出了G,我才去看G题。。结果英语太差一下子没看懂题意然后速wa一发→_→

然后发现场上一堆人出了J题,一下子就慌了,叫tmq去看J题,,然后hj就发现A题很水,一直在敲A题,我继续在纸上算E题(现在回想简直脑残)

然后以脑残的英语,在第48分钟过了J题,在1个小时1WA过了E题,其实就是两个超级水的签到题,,不得不说太弱

然后hjA题这时已经wa了3次了,我就问了一下题意,然后感觉就是一个很水的二分,为什么写了这么久,他不是用二分写的

然后我用二分写了一个,提交,速WA

然后hj继续改他的代码,提交,继续WA

然后我来两个就轮流改代码,一起WA

。。终于后来我发现我理解错题意了,,不能单纯的二分,因为单纯的二分是达不到题意的要求的。

所以从二分整数点改成了二分浮点数,最后再向上取整成整数后,对所有的区间扫描2遍,最后终于AC了,此时已经WA了8次,罚时几乎注定在出题的末尾,排名大概是123名。

当时场上除了A,G,J出题数都不多,当时其实挺绝望的,本来就是过来想试试能不能拿铜的,当时有点绝望。

后来面临了两个选择,是去做K还是I,I是一道构造题,最后还是选择做I

仔细分析了I很久,发现可以讨论为4种情况,两种情况一开始就想出来了,最后两种情况想了很久,在乱试着,突然一下子试出来了!当时超级兴奋,感觉看到了希望。。

然后看了下时间,当时是12点30想清楚了所有的情况,然后开始写代码!

因为是一个很麻烦的构造(其实并不麻烦,但是当时觉得很麻烦),一直写,写到后面好慌,其实可以不用vis数组的,但是当时一下子比较慌还用了vis数组来标记哪些位置是否填了数字。然后交WA了一次,后来发现漏了一种情况(是完全漏了一种情况,,无语),然后补上后,再交,RE了一发。当时时间大概已经是13点40了,真的非常紧张,以为是S的数组开小了,调大交了一发,变成了WA。然后这个时候,才想到去调试大数据(其实如果当时早点调试大数据,很多错误都可以避免),发现大数据完全错了!

才想起vis数组有两种情况其实已经越界了,马上又开了一种数组去替代了那两种情况的vis,交,AC,当时的时间是13点50分,在最后10分钟完成了4题,当时整个人都松了一口气,至少尽力了,或许有希望可以拿牌。。


最后北大的调口味的揭榜玩法,是真正的让人心跳加速。。

最后揭榜是从榜尾慢慢显示封榜后提交的代码是否通过,然后上升排名。最后在铜尾的时候,第一次比高考还紧张。。

我们当时是89名,90名和91名在封榜后都提交过了题目。然后显示第91名提交的那题通过了,因为我们A题巨大的罚时,我们退到了90名,第91名如果通过了那题,那么我们就肯定会退到91名,将无缘铜牌,如果没有它没有通过,那么我们就拿到了铜牌,最后的结果是他们没有通过!

最后以巨大的罚时压住了铜尾,,当时真的非常兴奋,感觉已经是非常的庆幸了,至少不是空手而归。

这次区域赛的教训还是很惨重的,在比赛前队伍组队训练实在是太少了,加上自己实在是太弱了,才导致了这次3小时才把那3道签到题做出来,尤其是第一个签到题用了48分钟,还有那个A题WA了8次,实在是不应该~


不得不再说一句,,其实A题我最后AC的代码还是有问题,在二分的check函数其实写错了一点点,理论上应该是AC不了的,但是可能是因为数据太水了,让我侥幸通过,否则找这个bug至少还要花半个小时,那就可能真的打铁了,不得不说这次拿奖都十分的不容易,最后拿了也并不是因为实力,而仅仅是运气而已,还是有点失落。

以后必须要好好刷题,明年争取拿银,加油~

你可能感兴趣的:(acm2015北京区域赛游记)