• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

2021年ICPC参赛总结

开发技术 开发技术 4小时前 1次浏览

无聊的前言:

  刚考上大学,啥也不会,啥也不懂,啥也不知道,算是顶着家里的压力报了一堆计算机相关专业,最后却是被一个数学专业录取。

  暑假的时候我就在想:我不想荒废我的大学生活。和大二的朋友聊过之后,联系到了学校的acm集训队,并从零开始学习C语言。不到20天完成学校入队第一阶段测试的150道题(是大一第二个完成题目的人),之后就是打codeforces的比赛(标准比较低,div 2连续两场过A题就可以入队),然后顺利地进入了集训队。

  开学后,在第一次入队测试赛中取得了大一新生第一名的成绩。我本以为我会以此骄傲一段时间,但是真正入队后,发现队里有很多大佬,他们在入队测试赛并没有认真打。之后的集训队的周赛中,我也只能排十几名左右的成绩。不过很开心的是,我们大一的很强,也都是外向,好学的人。

  我很喜欢集训队的生活,学习、训练、比赛,甚至是差一点a掉难题的遗憾、简单题wa循环的不解。机房很安静,所以只要没课,我就会跑到机房,学学数学,写写代码(比抢图书馆的位置好多了)。

 

济南站(打星)

 

  这场是我进入大学后打的第一场比赛,非常感谢我的老师能给我们大一一个能免费打比赛的机会。

  就这场来说,其实不是很紧张(我觉得最大的原因是这场是白送的),更多的是参加比赛的激动。

  周六热身赛,一个题都没做出来。第一道是一个和二进制相关的题目,我们不知道怎么处理-1的情况,看了一下别的题,发现只能做做A,死磕无果,只能爆零。赛后和学长聊了聊,当-1时,之后的都变为1,这个时候我们才恍然大悟。热身赛大一的都爆零了,都是不知道怎么处理-1的情况。晚上回到宿舍,我看了一下二进制相关的内容,还想着万一出个二进制相关的,不至于一点不会,万一能提出个思路,然后和队友商量一下就ac了呢?(结果并没有出)

  周日比赛,早晨睡不着,起了个大早,导致我下午比赛的时候非常困。

  我们第一次比赛,之前也没问过学长怎么分配题目,所以我们商议得出,先一人4份题目先看着,找题干短的看,过一会就看看榜单上有没有做出来的,然后他们看第一个被a掉的题,我继续翻译其他题干。(我们本是这么想的)

  K题过的人最多,通过率也最高,商议他们决定先看K题。他们发现这个题是深搜,但是没法解决回溯然后输出答案的问题。我们都不会,但是我的一个队友L觉得可以一起想想,然后a掉这个题,就当是签到成功。但是另一个人J说自己不会,就想去莽C和D题。我们没有办法,而且CD两个题确实有过的,而且C是个数学题,万一他就过了呢。良久之后,我们发现几乎每个队伍都过K了,通过率将近90%,我和L就开始想是不是个思维题,我们想复杂了。一番推理后,发现还是个深搜,我们只能一边感叹算法竞赛的“算法”二字,一边想怎么做。这个时候,我和L又看了一眼榜单,别的题就没几个人过,甚至题的通过率低到2.5%,而队友J还觉得自己能做。我和L都无语了,甚至有点生气。没办法,我和L只能翻翻带的算法书和我打印的资料,找找看有没有什么办法能把K题ac了。

  很显然,直到最后我们也没有做出来。最后看榜单的时候,发现一题拿铜的时候甚至还有些庆幸,毕竟发说说的时候还能给不知道的人说说:我,大一第一场ICPC,离铜就差一道题。

  有落差,也是真实的感受到了ICPC的难度,发现距离拿牌还有很长很长的路要走。但是非常令我兴奋,如果简简单单就拿到了,那我去做这件事还有什么意义?

  总结:济南站是一道题也没做出来,认识到了拿牌的难度,也认清了个人的差距。不管是我还是我队友,并没有因此失落,而是在更加努力,积极地对待下一场,作为正式队参赛。

 

沈阳站 (正式)

  热身赛还算顺利?四个题,他俩看ab,我看cd。他俩很快就把ab过了,然后看一眼榜单,有人58s就过了a题属实是有点震惊,同时也在想,或许这次沈阳站简单点,不至于像上次济南站一样硬坐牢5h。随后我简单说明c题后,提供了思路,让J写了c题,我和L一起想d题。很正常地没想出来,我想到,线段间只有三种情况,平行(有现成的公式),在延长线上的某点相交(返回一条直线上两个端点到另一条直线上的最小值即可),相交(返回0)。但是不知道怎么枚举1e5个数据而不会TLE。(又是我一个题也没做出来的一天)

  正式打比赛了,依然是L看abc,J看def,我看剩下的。看了一会,我们觉得可能已经有人过了,就看了一下榜单,果真过了。所以他俩迅速地过了E题然后去看F题。我在看j题。过了不知道多久,他俩吵起来了,L嫌弃J不会string,J嫌弃L不愿意和他一块想怎么用char写,后来又说了什么我没记清。然后就是L不说话看别的题去了,J生闷气,一言不发地debug

  F交了第一次,wa了。然后他俩开始讨论错哪里了,突然L想起来string有个substr的函数可以解决当下的,可是他觉得写代码慢,而且他觉得自己写的bug很多,而J不会string。所以我帮他改完了代码。测试样例过了之后,开始了第二次提交,又wa了。他们不知道错哪里了,队友J想着让L和他一块把题写完,但是L想再找几个样例试试,不知道为啥,他俩又吵起来了。我就直说“如果你(队友L)觉得自己对,你就自己写,他(队友J)不会string。吵架等打完比赛再吵,你们打一架都行”。他们安静下来了。很快,队友J发现,他们好像读错题了,重新确定题意后,很快就把F过了。之后就和我一起看J题。就在这个时候,队友J又想开别的题,我看了一眼榜单,又粗略地看了一下其他题的题干,除了J题没有能做的(至少以我和队友L的水平是没有能做的)。不如一起看看J题,就算打模拟也能打完(我觉得),直到我发现我可能要打几百行的模拟。稍微吃了点东西,只能坐等比赛结束了。

  总结:全队做了两个题,大一的队伍里面,也只有我们出了两道题,作为第一次的比赛,打得还算可以?至少能报销一半的参赛费了。还有就是,我又一个题没做出来!!!

 

大总结:打了两场比赛,也算是认识到了比赛的难度吧,肯定有收获也有不足。

  不足是:①我的算法知识让我大多数时候只能暴力求解,或者用浅薄的数学知识来尝试解决问题。所以,以后还应该继续提高自己的算法知识,多做题。②参赛经验太少,团队战术(我觉得主要原因是能做的题就没几个,不需要战术,能做出来就解答欢喜了)。所以还是应该和学长讨论一下,在战术上优化一下,在以后的比赛中能提高效率。

  收获:更多的是认清差距吧。。。。

 

  今年打了两场,下一次打算和学长们抢昆明的名额,为了能打上昆明站,以后也要继续努力啊。

  快期末了,暂时把更多的精力放在学习专业课上吧,溜。


程序员灯塔
转载请注明原文链接:2021年ICPC参赛总结
喜欢 (0)