ACM2013南京赛总结

说实话,去的时候是抱着能拿银的心态去的,毕竟努力了这么久。最后只拿个铜其实挺失望的,不过赛后想想当时的情况,也明白其中的原因了。

一开始比赛马上三人一人读一题,我读第一题超水题,速度敲完1Y,runid=11,感觉还不错。然后队友表示那两题都做不了,就继续看B题。B题跟我之前做过的一道题挺像的,复杂度确认没问题后就开始敲了,结果怒T了,不理解,看到全场就我们交了B题,而且佳俊表示J题想出来了,那就换人了。

下来后看了看B打印的代码,没找出什么错,看来得等打数据了,就继续放着,开始读I题,说是第K天就在N个数里面选K个的所有可能的异或和。想了一分钟后反应过来按位来算,复杂度OK。把公式推好后队友还没写出J题,佳俊跟我说C题是黑书上有的状压dp,就读了C题,发现能做,但是现在我们已经从开始的金区掉到铁区了..队友交了一次J但WA了,于是赶紧一起调,发现爆int,改了后YES

敲I题的时候,因为之前推的公式符号没怎么统一,写成代码的时候弄乱了,一直过不了样例,中途重新统一符号再推了一遍才过样例,一交,又WA...给了几组数据后调好2Y,不过已经浪费很多时间和精力了..
接着回去敲B题,随机打了100组数据后发现死循环...改了交,又T,然后发现二分那里写的有问题,又改,再交就WA了,调了好久。多亏佳俊提示不可能的情况...不然还不知道要调多久,最后总算6Y..
此时时间已经过去一半了,又看到那个状压dp不想敲,想找其他题来做,可是据队友描述都不会..于是开始敲C题。说真的,敲C题的过程绝对是个大失误..在之前连续编码这么久的情况下还接着敲细节这么多的题,各种敲错,甚至中途删掉重敲过一遍。敲完调了半天都过不了样例,momo和佳俊给了各种各样的数据才勉强过样例,交了后果断WA了...这时离比赛结束只有50分钟。想着50分钟怎么样都能调出来吧..结果到最后一刻还是WA,发现有初始化问题,于是把几乎所有可能都memset了,还是会有初始化问题...

到此比赛结束...

结束后我们还继续调C题,最后发现map的初始化有问题,我原来想着map是每次读入都覆盖的,就没memset,仔细一想我之前都默认map外面是0了,而且在转移的时候用了这个性质....跪

总结起来这次做的不好的地方有:
1.看到会做的题不淡定,总想着快点敲快点AC,结果总是适得其反。最水那题或许快点敲没事,后面稍微复杂点的还是仔仔细细考虑清楚再敲代码比较好。
2.在赛场上没有好好休息,一直连续工作,导致状态到后面越来越差。直接敲下一题(特别是比较麻烦的题)还不如吃吃喝喝休息10分钟再开始敲,反而错的少。
3.平时训练还是有欠缺的地方,比如最后的树链剖分一直听说却没看过,dp敲得速度也不够快,平时WA一两次就不管了乱WA,在比赛的时候可不能这样...少WA一次排名都会提升的,说不定就差了一个牌%>_<%
4.发现有初始化问题还坚持我之前的想法,而不是无脑memset,直接导致比赛少一题...以后过样例还WA的得先查初始化问题(把大数据放前面来试试),如果有的话就无脑memset,反正现场赛时间充裕,memset多几次也不会T

两周之后还有长沙赛区...加油!

你可能感兴趣的:(ACM)