第十届ACM/GDCPC之初次参赛经验及教训

来源:互联网 发布:淘宝商城如何申请 编辑:程序博客网 时间:2024/06/11 12:09

PS:由于本人学校第一次让学生参加ACM比赛,没有什么参赛经验,因此成绩不佳,特留此经验教训。

1.首先,基础不够扎实。这次比赛的A题和K题可以说都是水题,但是居然花了大量的时间也没有得到AC,个人分析两题均出自同一个问题,浮点数运算问题。查找了相关资料,了解到浮点数运算是不精确的计算,整数运算才是精确的,在解题时应尽可能地把数学表达式中的浮点数转换为整数来进行计算,得出结果后再转为浮点数。另外,浮点数不可以判等,比较大小也要考虑误差【if(fabs(a-b) < 1e-6) sum=0;】。还有一点,就是要注意浮点数的四舍五入问题【int b = (int)(a+0.5)】。比赛过程因长时间未得到AC,团队的积极性会大受打击,因此,对于比赛中的水题一定要100%的拿下。如果水题AC了,最后再拿下并不难的C题,那么就有得奖的希望。

2.其次,所带资料赛前没有熟悉其具体用处。归根结底,是准备时间不够充裕。对于自己所准备的资料,一定要有清楚的认识。

3.另外,比赛刚开始时,电脑是空闲的,大家都忙着读题,我个人认为应该尽快找到水题,并直接让最稳的人上机做题,这样可以提高机器的利用率。

4.团队合作不理想。当时我发现K题是道简单题,并把算法大致构思出来并写在纸上,并告知WY题意及解答思路,他表示同意,于是我继续其他题目的求解,到后面我WY做完提交题目后,发现是WA,我就打算跟他一起再看一遍,结果一看代码发现与我的思路有异,没办法我又要花时间去看他代码,浪费了不必要的时间。这让我意识到,在解题思路上,组员间应该保持一致,而不是随性发挥,这样可能适得其反。另外,A题也有类似的情况,JD看完提交结果为WA的代码后,以自己的代码风格重新写了个文件,并且中间浪费了不少的错误调试时间,而不是在已有代码基础上修改。另开小灶会降低解题的效率,得不到合作解题的效益。

5.最后,鉴于第4点,我有一个建议。假如未来有团队培训或选拔,最好能由学生自己组队,一方面是考虑到学生的水平各异,自己组队能更了解队员彼此的优劣,更容易形成优势互补;另一方面是考虑到学生之间互相了解的程度可能有异,学生的性格也有所不同,自己组队的学生之间可能本身就有很好的默契,这无形中有了“人和”这一条件。

原创粉丝点击