Advertisement

南京区域赛总结

阅读量:

我上周在ACM生涯中完成了首次ICPC区域赛报名,并且这也是我参加过的规模最大的比赛之一。展望未来,很难再遇到如此大规模的比赛机会。

整个比赛过程给我留下了深刻的印象。尽管我在比赛中仍感到些许不安。在正式比赛前的热身阶段(也就是上午),因为中午时分我睡过了头(导致错过了与他们一同参加的时机)。于是我们立即进行了测试——检查常用的编辑器功能是否正常(发现都没有问题之后),便开始着手解题。可能是因为看到别人早就开始解题有些急切?也可能是因为看到别人都有气球显得格外兴奋?总之当时都没有及时加入队伍(结果自然是未能如愿)。最终像一只掉队的队伍一样被甩下赛道(这也正是为了积累实力而进行的一次尝试)。不过今天的失手却让我想到:今天做不出题目又有什么关系呢?只要能够积累好人气就能带来好运气了!后来我们在宾馆解决了剩下的两道签到题(A题),算是补上了这场失误

第二天终于揭开了正式比赛的大幕。
在正式比赛中,我们首先开始审阅题目,我注意到最后一道题M题篇幅较短,于是迅速入手,而我们的队友则从问题列表的开头位置开始审阅。
随后,A题被某位选手快速解决,发现这是一道博弈论题目,于是两位选手转向B题进行深入研究,而我也接过了B题继续探索。
经过一番折腾后,我们终于找到了较为合适的解题方向。
这时我发现这可能是一道典型的巴什博奕问题,但随后发现直接求解会遇到困难。
转机出现在我发现问题的本质其实是素数筛选的问题时,经过进一步分析和讨论,我们最终找到了高效的解决方案。
此时,A队成功解决了A题并交出了正确答案。
lwy接手了一个更具挑战性的题目,C队则面临一个规模较大的计算几何问题。
尽管我对这类题目怀有恐惧心理(因为涉及大量复杂的几何计算),但最终我还是决定继续推进项目,C队则转向了D题的开发工作。
在G题推导过程中,D队遇到了前所未有的困难(因为涉及到复杂的矩阵运算),最终决定暂时搁置D题以集中精力解决G题.
在这个过程中,A队提出了一个关键性的公式推导思路,C队对此展开了深入讨论并最终确定采用矩阵快速幂的方法来解决问题。
然而,在实际编码过程中遇到了意想不到的问题(服务器响应超时),尽管如此我们仍坚持完成代码编写.
经过多次调试和优化,C队终于完成了程序开发.
然而在提交前发现存在逻辑漏洞(少了一步跨层递推的关键步骤),导致程序运行结果不准确.
最终我们在调试阶段补全了算法缺陷并完成了全部功能实现。

最终情况是超过我们的人并不多。即便拿下了那个G奖牌,并不会影响到我们的成绩只是获得了铜奖而已并不感到遗憾。领到奖牌非常开心。

本次比赛中出现的问题在于:首先发现各道题目可能存在表述不够清晰的现象;观察到其他参赛者在赛后解题过程中也存在类似理解偏差的现象;其中一些题目由于表述不够严谨导致我们未能及时同步推进项目进度;例如J号题目我花费了大量的时间来仔细阅读题目,并且发现当时已经把网络流图建好了;但没有及时开新题目去处理;主要原因是担心同时处理多道题目可能出现的问题;而在I号的时候ayf和lwy两人一直在纠结G号和D号的正确理解;花了较长时间确认后再着手推导公式;这也反映出正确的审题思路可以避免后续不必要的错误;此外还存在心态上的问题:因为一开始忘记了一个Java中的类名而一直心神不宁;这也间接导致编写代码时出现了模板错误;需要较长的时间去查找错误所在从而浪费掉了宝贵的时间资源

在比赛中正常发挥时相当于长时间的稳定表现。因此按照平常的状态进行。遇到不会的内容及时舍弃这样做的效率还可以接受。深入分析我们目前的实力以及本次比赛的题目设置发现计算几何以及更为复杂的题目难以解答除非我们拥有相关的解题模板支撑这样取得的成绩也可以视为正常的水平对于G题能否解答的影响因素并不大

希望我们学校以后的几场比赛,能够打的更好。

全部评论 (0)

还没有任何评论哟~