Saturday, December 23, 2006

西安,太多遗憾

西安,可能是Larva以团队的身份最后一次出征。实在有太多的遗憾了。

9点整比赛开始了,在翻阅了近半小时的题目时间里,始终都没能找到适合开始的突破口。

直到娄教主将B题通过的时候,ray也开始写B的代码。leen和leaderz正在讨论E题,从题意上来讲,这是最简单的一道。在不到20分钟的时间 里,ray敲完了代码(当时自我感觉还是可以的),一个简单的搜索架构,能过sample,但对最大的数据却明显TLE了,所以我们没能敢提交。
leen提议要记忆化搜索(这是leen的招牌)。在ray和leen争论了一翻之后,ray的心理开始有些混乱了。leaderz确定E是简单题之后,换leen做,又过了半个多小时,无果。

leaderz发觉了我们两状态的不佳,他提议ray做E,leen做B(从平时练习来讲,也确实应该这样分配,这个时候也许就剩下leaderz的头脑还是清醒的吧)。
接着又犯了个致命错误,ray选择是在leen的代码上改,而leen也选择在ray的代码上修改,由于双方代码风格的截然不同,跌跌撞撞地过了好久,ray勉强把E过了。(而ray已经是满头的汗)

leen和leaderz相互讨论了很长时间,在三个多小时的时候,把B给通过了。我瞄了leen两眼,通红的脸,看来他也承受了不小的压力。

有一段小插曲,leaderz在中间写了F的代码,用的是随机投点的方法。距离sample只有0.001的误差,但考虑到这题过的人实在很少,所以我们没有深入做这题。

环顾了一下四周,ray觉得J是通过的人比较多的,且J的规模可以暴力解,思考了一会后,ray心理默默算好了整段代码的结构,待leen下来的时候, ray立即赶上做J。要是平时的话,在对整段代码有了规划,对算法比较清晰的状况下,ray的代码速度和准确率还是满高的。但毕竟是比赛的时候,和E题一 样,ray犯了一些小错误,终于在距离比赛结束前半小时左右的时间,完成了代码且通过了sample。在测了几组数据后,提交,得到RT?怎么又是RT? 难道ray的人品又出了问题?查了10分钟,才发觉,是提交错题目了(真是有点神志不清了~)。修正后提交,得到了TLE??我的方法是先暴力求出所有解 丢在HashSet(用java)里,然后每个数据到Set里查一下。在本地,初始所有结果的时间1秒不到就OK了,查询都是常数负责度的。当时也顾不着 那么多了,leen和leaderz一起来帮忙把代码再优化,优化了不少东西后,还是不停TLE。最终只能停留在TLE。。。

结束了,就这样结束了,真的有些不甘。但还是结束了,leaderz是整场比赛状态最好的了,他对我们的调整以及他的F题(我们的另一只队在最后5分钟随机投点过了F)都是很准确的。

ray就开头清醒了一会,之后的状态一直比较混乱。leen在过了B题后开始恢复,但最后还是没能挽回J题。

比赛结束后,我们去找裁判组问他们J题是哪个地方导致TLE,见到了刘汝佳,还是很热心的,告诉我们J题时限是10秒(更不可能超了),而且他们的算法也是暴力。不过因为他们拔掉了网络,所以直到现在我还不知道为什么J题会TLE。。。也许只能说我的RP太差了。

No comments: