ACM前四次组队赛比赛总结(7月31日到8月3日)

          一个礼拜的算法集训,两个礼拜的个人能力集训,被我们念叨了半个学期的ACM暑期集训,便悄悄的从我们的身边掠过,仍记得个人训练赛时每天下午唉声叹气的回到寝室,向室友数落着和前一天相同的牢骚,为今天能够A两题以上而激动不已,为了一道解不出来的题揪着头发熬到半夜……曾说“经历了,一切变成回忆”,似乎,暑期的集训将我带回了两年前那份认真、纯真、天真的高中时代。勤奋、努力、自信、煎熬便是生活的全部,现在想想,两年来浑浑噩噩的日子,每一天浑噩的生活质量,不及这一个月以来规律性的生活的万分之一。便有了时空上模糊的错觉,感觉从未经历过颓废的那段日子,也终究是沉浸在如今的紧张和充实的时光之中,或许一切都会慢慢回来。

         时光的脚步总在我们充实的时候提速的特别快,第一天老杜面对着兴致勃勃的20来号人在PPT上阐述着接下来一个月日程安排的情景,感觉就像不久以前发生的事情,但是貌似也走过了20多天的光景了。或许“努力的一切都会有所得”,那只是对于坚持到最后的人来说的,面对现在仅剩下的7个人,人员的流失,这件在平凡不过的东西似乎又总是会令人觉得惋惜。60多号人的群,20多号人的课堂,匆匆而过后就仅剩下我们几个了,惋惜的不是我们,是离去的他们。始终坚持的认为,每个人都有自我选择的权利,因为在我们度过十八岁生日的那天,我们已经没有什么可以依赖他人的理由了。无论是在一切开始前就选择好坚持或放弃,或者是在中途选择撂挑子不干了,这些都只是每个人对于事情处理的方式,一切都是无可厚非,只是我通常会选择前者,便会让我对选择后者的人产生不负责任的错觉,但是终究因为价值观,或者是自信度的不够等等“人之常情”之后,这些结果都变得可以让人接受,虽然这个结果貌似在不之前就被我不小心的言中。而留下来的我们,才能看到和别人不一样的风景,为此我便觉得自己一切都是值得的。

         好吧,我偏题了太多了。

         被我始终称为遥不可及的“集训之末的苦难”,组队比赛在我们还没有准备好的时候,铺天盖地的来到了我们身边,忽然觉得我们已经经历过四场这样的比赛的。周末在老杜介绍完往年的比赛经验的之后,下午就立刻进行了一场比赛。那是一场现在想想都让人压抑的比赛。之后周一到周三的三天,一日复一日的比赛,比赛题目出处均为以前ACM比赛的老题目。而我们需要的是以一个团队的形式来完成。而对于团队合作,这个两年来一直萦绕在身边的元素,便不觉得有什么让人觉得可怕的了。

 

         我现在先将我们比赛的基本模型和部分策略简要的阐述出来,之后再进行分场的叙述。

         每次比赛之前,会有人提前到达比赛现场,进行简要的布置和准备。1、将电脑打开,安装三个人都熟悉的code::blocks软件,将比较常用的,模板复制到电脑桌面上,链接网络,登录到指定OJ上,等待比赛开始;2、将电脑旁边的三个位子清空,仅留下需要使用的笔和必要书籍(现在只有英文字典)3、领取4张白纸,每人各一张,作为草稿纸,另一张用来作为题目清单,纪录题目大意和对应解决的算法。

         比赛开始之后,按照字母顺序将题目等分成三份,博川、我、鑫哥分别负责前、中、后三个部分的题目。三个人同时读题,分析出题意,如果算法简单,立刻和旁边一个人讨论,其算法、考虑边界和时间复杂度,如果确定了是一道水题就立刻上机敲代码,如果分析之后发现算法清楚,思路清晰,但是其中情况众多,有一定的代码量,就记录到清单,放到旁边先不做处理,继续读下一道题。做到在最快的时间内将最水的一道题找到。

         当开始敲第一个水题之后,剩下两个人,尽快读完剩下的题目,找出第二道可以做的题目,分析边界、时间、复杂度,如果都清晰便由一个人负责手写代码。敲代码的人如果发现问题,就立刻由之前和他讨论的那个人去和他共同商议。若长时间做不出来,且余下两人讨论出了可以做出来的简单题,便将此人换下。

         当水题解决之后,便开始敲已经想出实现算法的题目,并进行代码量估计,如果代码实现比较大,便提醒队友,如果有简单一些的题目就立刻上来修改。剩下两人,利用解题清单,对整体题目进行评估,并研究可以完成的题目。

         在提交的题目之后若出现WA,假如已经有可以立刻敲的题目就立刻打印代码,让另一个人去敲新题,且下来分析出错原因,找到所有错误后,询问正在使用机器的人还需要多少时间完成,若是时间少,就等他敲完后,再进行修改,若是敲代码的人正遇到难处,就立刻让他打印,并且上机调试刚刚的修改并提交。

         在比赛即将结束的时候,开始进入疯狂的刷屏阶段,让最有可能调试出来的题目进行调试,并且三个人一起研究这道题的错误,争取最后的AC……但是往往也有不尽人意的时候。

 

         近期的四场比赛,情况如下:

周日的第一场组队赛,全员开始搜索水题,立刻找到了一道,简单讨论后发现可行,便即刻,完成了第一个AC的提交,之后毫无战果。在提交过程中,剩下的人由于对于英文文本题目的阅读能力不够,并且之前过分的依赖有道词典的屏幕取词翻译,所以题目理解异常困难,使得比赛读题总共用时就花了近三个小时的时间,加上对于题目理解方面的不够透彻,导致一些模凌两可的题意被理解出来。题目理解不清,最终导致了机器空闲时间非常的久,长时间出现无题可做,无题可解的情况。并且那场比赛队员之间交流不够,所以一个题目往往需要每个人都重新阅读一遍,大大的降低效率。在出现问题时候,出现了三人同时解决一个问题的尴尬局面,降低了解题读题效率。

最终以AC一道水题告终。


        最终比赛结果:

     第一个AC: YES

     AC:1;

                   Other:0;

         可发扬之处:水题搜索速度快,题目分布平均

         需要改进之处:

1、  英语阅读能力

2、  和队友讲述题目大意做到详细,明白。

3、  机时利用率有待提高。

4、  问题讨论过程中,以两两为单位,第三个人,尽管做自己手头上的事情,不需要过多的参与,以做到最少有两道题在被人思考。提高效率

 

         周一的比赛开始了正常的作息时间,从上午9点钟开始,第一次的正规时间段的组队赛。这次比赛吸取了前一天的经验。加上对于英语文本阅读的适应,阅读效率显著提高。在前40分钟A了两道水题。比赛中出现了纠结一道题目时间过长的问题,在比赛的最后时段,几乎所有人都在纠结那道丢皮球的题目,而其他的题目就放置下来。另一个问题是对于两道凸包题目,因为之前对模板的不够熟悉,所以两道凸包问题均无法解决被闲置。对于一道中位数的问题,在调试了两个小时的时间,均不能有结果,提交了9个不该有的PE,1个WA和1个TLE。最终在比赛结束之后15分钟才调试成功。


         比赛结果:

                   第一个AC:YES

                   AC:3

                   WA:1;PE:9:TLE:1;

         可发扬的地方:

1、  向队友解释题目比前一天准确清楚,节省了时间。

2、  水题解题时间速度加快。

3、  合作讨论开始以两两成对的模式进行。

4、  几时利用率显著提高。

需要改进的地方:

1、  题目阅读清楚,输入输出做到准确,尽量避免使用边输入边输出的模式,容易出错。

2、  熟悉模板,总结正确、高效的模板。

 

        周二比赛,算是现在进行的比赛中发挥最好的一次比赛。开始比赛,仍然采用分别读题方式,在34分钟时解决的H的最大和矩阵的题目,并且在这之后立刻找到了第二道可以上的水题。在之后的4个小时中,我们解决了一道map解决的编码翻译题,一道循环判断题和一道大数处理题。整个过程中机时使用率极高,除了最开始的20分钟,机器使用有人操作。其中出现问题在于大数使用引用模板时候,include<memoy.h>这个并不需要的头文件,导致了两个CE。

比赛结果:


         第一个AC:YES

         AC:5

         CE:2

可发扬的地方:

1、  题目阅读效率增加。

2、  队员间交流性强

3、  编码能力和效率高。

4、  非及其操作时间把握的很好

5、  对于模板的调用比较灵活。

需要改进的地方:

1、  认真读清楚OJ说明,不适用不可使用的库。

2、  增加讨论效率,锻炼手写代码能力,节省冗余时间。

 

        周三的比赛,抱着保5争6的AC量开始了。这一次A题阅读之后,貌似有了思路,便开始了代码的编写,却在编码一个小时之后发现行不通,在这期间,其他两人发现自己手上的剩下的题目中并没有非常水的题目,于是突然觉察到可能水题是在正在编码队员还么有阅读的B、C题中,另外两名队员阅读之后发现确实如此,B、C题目相对简单许多,在比赛开始一个半小时的时候,AC了B题,发现,第一AC已经不是我们了,而AC的就是B题。之后的题目题意都在一个半小时内全部阅读明白了,但是却发现并没有多少道题有思路。之后,三人各攻一题,C、E两题均持续出现WA,却毫无进展。最后还有半小时的时候,E题思考成熟,顺利AC,C题由于题意理解不清晰而没有做对。


比赛结果:

        第一个AC:NO

         AC:2

         WA:11(E题2;C题9)

可发扬的地方:

1、  队员交流性强、灵活性大

2、  英语阅读能力显著提高,所有题目都在一个半小时内读懂了。

需要改进的地方:

1、  题目阅读顺序混乱,在找到一道有想法的题目后没有认真分析其编码量就立刻着手编码,而忽略了其他没有阅读题中可能存在的潜在水题。

2、  题目题型见得少了,拿到一些新颖的题目之后没有适当的思路,导致题目闲置,无法着手解题。

3、  需要持续进行大量的编码训练。

4、  读题清楚,把握细节,严格的按照题目要求输入输出

 

        这四天的比赛来看,英语阅读能力对整体来说是很大的一个障碍,对于题意的把握、细节的处理都有很大的影响,对于题目解决的不多,看到了不少素手无策的题目,需要更加加强队员的编码能力的训练,特别加强字符串处理方面的能力,尽可能避免奇怪的PE、WA的出现。但是,我们可以看到,随着三名队员配合的越来越默契,团队实力有稳步的提高,也同时可以大胆的预测,在一段时间的训练之后,团队的实力会增强很多,而且,提高个人能力和团队能力的相互配合之下,我们的团队一定可以具备和其他强校相抗衡的能力。

        Come On! Auto-ACers!

 

你可能感兴趣的:(ACM前四次组队赛比赛总结(7月31日到8月3日))