您的位置:首页 > 其它

山东省第二届ACM省赛总结

2011-05-10 21:52 295 查看
原本去年福州赛区结束就已经不再参加训练了,这么长时间不做感觉确实已经生疏了许多。在清明节和老师聊天时有让Frank和我临时参加省赛的想法,之后为了恢复状态一边是做每周一次的内部测试赛,一边把原来做过的一些题选了几个典型的重做了一次。
这次去的路上不知怎的,又晕车,导致周六整个一天几乎都是晕晕乎,中午几乎没吃什么东西,下午热身赛都感觉不是很好,幸好热身赛题目比较简单,那天晚上9点就睡了,周日早上起来感觉好了很多(比赛完了在招待晚宴上喝了不少酒,当时还担心等会儿去火车站会不会晕车,可后来证明喝酒之后坐出租车一点事也没有)。热身赛那天老师说第二天比赛打牌别太晚了,可都没带牌啊^_^,那天吃完晚饭就去爬山了,爬到了山大那个校区的最顶端吧,回来在宿舍就聊天,Frank说我们不要有太大压力,正常发挥就行,给我们这个队定下的目标是4个题。
周日这天下起了雨,有点小不爽。开幕式之后就是到了比赛场地,之后就是紧张的5个小时。先说一下比赛的做题情况:
A题:博弈论题,只在北大暑期课程里学过,可没做过几个题,这样的题往往是知道公式就能做出来,现场这个做出来的也不多,当时也想做,临时也推出了一个公式,可正好与样例结果相反,后来队友找出一组数据说明了我的公式也不正确,只好作罢。
B题:3道简单题之一,可这个题我犯了两个小错误,提交错了两次,不应该啊,这个题还多亏我们的女队员给找出了错误。
C题:3道简单题之一,就是求组合数,只是对结果多了一个取余操作,这个题我受原来做过的一个题的影响用了另外一种方法,可是发现一旦取余就不对了。这时发现Samon他们那队这个题已经做出来了,而我知道他们原来不会我这个方法,所以肯定是用了我有一次看Samon用的方法,就是利用组合数的一个性质。
D题:全场最简单的一道题,判断一个字符串是否为C语言合法的标识符,这题Frank做的,还算快就做出来了。
E题:09年上海赛区现场赛的一个题,abmodc=p,已知b、c、p求a,我看过解题报告,可是有很多数学定理不知道,以后谁想学数论的,这个题一定得做出来。这里因为a的范围就是26个小写字符、26个大写字母和10个数字的ASCII码,moon说可以先枚举,然后判断,对这个题或许可以,当时比赛就没想到这一层。
F题:难度最大的一个题,求一到三维平面中一些点之间的最大距离,这个距离做了重新定义。
G题:
模拟题,这个题我们队的女队员发挥了重大作用,尽管是我做的,可是这个题的功劳应该归她。模拟题的典型特点就是编码量大,这个题的输出结果不知有多少个英
语句子,这些句子即使错一个字母或者一个标点符号整个题都将功亏一篑,我是一边敲,她在一边念一边仔细检查有没有出错。比赛完了之后Samon和tao他们这个题都没做出来,原来他们还用了trie树,当时我做之前他们也说是不是要用trie树,我权衡一下之后还是没用,我考虑的是既然这个题定位在模拟题,考其他数据结构的可能性就不大。
H题:Frank说是简单题,好像还是Frank全场第一个做出来的吧,不简单啊。
I题:动态规划,想做,Frank也提出了一个解法,可是空间复杂度太高。
J题:图论题,发现自己一直还有知识盲点,有向图的强连通分量,即使在数据结构课本里有,可是我竟然没看过,显然是不可能临时做出来的,更何况这个题定位在难题,Frank到最后也做了一下,可还是不行。
我们做出5个题是在前3个小时,后面2小时就没做出题了,当时我和Frank就研究了一下排名榜,结论是我们获金牌的可能性是很大的,这时我们的女队员不满意了,说我们在干嘛啊,赶紧做题^_^,进入比赛最后一个小时,封榜,看不到排名了,这也是最最紧张的一个小时了,你无法看到别人的做题情况,始终担心我们的排名是否会下降。比赛结束排名榜出来,金牌基本确定是到手了。
5个小时的比赛一个瓶颈就是3个小时的时候,也是是下午1点,这时候已经是经过了3个小时的超紧张时间,我们能做的题几乎在这前3个小时已经都做出来了,剩下的题也不会比已经做出来的题简单了,再加上没吃东西,尽管发了面包,可谁会在这么紧张的时间有心情吃东西。所以说这样的比赛拼的不仅是脑力,还有毅力、体力。
这场比赛算是给Frank和我的ACM生涯画上了一个圆满的句号吧,以后就不可能继续做了。谢谢老师能给我这次机会能让我再留下一次ACM的美好记忆。记得在赛场上每当交一个题返回的结果是Yes时,我们都大叫一声”Yes”,那种高兴真是无法用言语来形容的,那种经过几次错误再得到Yes的更甚(在我们的右后方有一个队伍在比赛结束不到两分钟的时候提交得到一个Yes,那一声狂叫,惹得不知多少人的眼光朝向他们,他们那队那个女生还忍不住把他们后面队伍的气球拔出来插到他们那里)。可是这样的美好时刻就要随着我退出ACM竞赛而只能永远的留在我的记忆中了,很不舍啊。

接下来大体我还得完成几件事,先写下来,然后一件一件完成:
1、翻译PC2的文档,比较多,可能得需要一段时间。这个一方面是基于技术传下去的考虑,另一方面我以前配置PC2时也是不懂的时候才去查文档,还有很多东西我也不是完全懂。
2、写出密码随机生成模块程序,而且要能导入到PC2中去,这个比较简单。
3、写出打印模块程序,就一个网页,顺利的话应该比较快,这个必须得经过并发环境下的测试,上学期做数据库课程设计时写的程序没考虑过并发,所以在并发情况下肯定是会出错的,这个需要好好考虑一下,毕竟写实用的程序和写课设不是一回事。
4、把PC2的排名页面做一下美工,这个小意思。
5、配置出邮件服务器,和PC2进行整合,这个现在不好说得用多长时间。
5、完全配置出PC2环境,借助协会举办活动来一次以上的实战。

本文出自 “技术爱好者” 博客,请务必保留此出处http://chenqiangjsj.blog.51cto.com/2331729/563319
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: