一场刺激的游戏——很文艺的山东省第四届ACM赛总结(菜鸟版)
人生就像一个个节点,节点中或许有成功,失败,满足,遗憾,但是只要它是不可复制的,在日后,便是美好。
——我们的教练
一
“TIME—00:00:07”,还有七秒钟的时间,比赛结束。
我们把最后一道题的代码稍微修改了一下,赶在比赛结束前的七秒钟,提交。奇迹并没有出现,仍然是错误。但我们却在最后的时刻,如释重负,好惊险的比赛,刺激程度无以复加,毕竟这道题我们只用了十分钟的时间,而五个小时的总过程,我们前四个小时居然一无所获。
终于从青岛回来,完成了我们的使命,虽然铜奖是微不足道的,既低于我们的预期,也没有刷新学校的记录。但玩了这么久的ACM,奖项俨然已经不是重点。这五个小时的精彩,是无以言说的,也是无法重现的,对我们来说,赛场上每一次不屈不挠的提交,赛场外与其他学校志愿者的甜蜜友谊,日后必将成为美好。
二
在很多人的理解中,ACM是难、枯燥、无味的代名词。一个纯粹拼脑力和算法的游戏,它既没有窗体开发中花花绿绿的UI界面,也没有实际项目中形形色色的扩展类库,当然比起真正风靡世界的WOW和LOL,它的确是太不好玩了。可大隐隐于市,最简单的C穿插少许的C++特性,黑白相间的命令提示符,毫无修饰的输入输出,便能够解决号称计算机灵魂的终极问题,这足以让许多热爱算法的人心旷神怡了。
由于ACM竞赛涉及到的知识面实在太广,下至递归枚举,中有贪心图论,上有线段树字符匹配等许多最近几年才有的国际论文知识,除此之外,英语数学物理甚至流行的电子游戏也要稍有了解,才能极大简化构造模型的时间。所以训练的时候也是异常艰苦,我们在这一年中已经没有了寒暑假。回想起训练的时候,常常因为一个问题的不同解法争执的面红耳赤,废寝虽不至于,忘食却也成了家常便饭。
从功利的角度看,一年的努力,换来一个区区的铜奖,亏否?
大一的时候,我参加过软件设计大赛,虽然当时不懂JAVA,与两位同学也是从筚路蓝缕开始学习,但是半个月便出了作品,最后也拿了个奖。从投入产出的角度看,这似乎更值,稍加学习会用类库调用函数就能成功一半。把一年的ACM生涯用来做项目,成就已然不会太小。但是我们三人总有一个共同的想法:“有意思吗?我们无非是在用别人的东西。”
是的,ACM是一个独立思维的王国,它什么都不会给你,甚至连输入输出的样例都是那么的小心翼翼,唯恐让你懂得太多,思维定死。可在这最大限度的运用自由后又有最为严格的验收标准,机器评测,克服了人工的感情思维和失误,上万个甚至数十万个测试数据,迫使你的程序要严格思索到每一个边边角角。最重要的是,无边无际的参赛者会在轻松过题的时候给你惊喜和鞭策——在线上甚至线下赛中,你与山大中国海洋大学甚至清华北大的人同在一个屏幕上,思考同样的事情,想来就让人兴奋。也只有在那时,我们才知道自己的微不足道,知道乔帮主毕生箴言的合理之处。
Stay hungry,Stay foolish。
三
就是在这样的环境中,我们抵达了战场——中国石油大学,其中包括三个正式队伍和三个大一同学组成的友情参赛队伍。那是一个慵懒的下午,两个美丽大方的志愿者欢迎着我们的到来。吃过饭后,便去参加了一场热身赛,实验新环境的性能和机器的性能(正式比赛时采用的是ubuntu的系统),下午出门,我们一行人浩浩荡荡的到了海边,看到自己脚下木头连廊的缝隙,谈天说地。ly(不是lyc也不是lcy)老师租了一个双人的自行车,于是我们是情侣的不是情侣的都上去跃跃欲试了一把,这其实也是一种缘分。十年方才修的同船渡,能让我们如此欢乐的在一起,需要多高的修为啊!而这修为的链接,恰恰就是ACM这个既让人愁眉苦脸,又让人喜笑颜开的心魔。
所有的坡度已经都被我遍历,所有的惊险都成为了必然,迎面而来的海风抚乱了我的头发。远方沙鸥的起降让人心旷神怡。
把自己的灵魂交付给自然吧,青春的节奏本该如此,不是吗?
四
晚上,队长带着大一的三名同学去“拜神”,所谓神,其实也不过是和我们学校水平相仿的sd某大学。
第一届省赛时,sd某大学与我们的水平相仿。但他们卧薪尝胆,顽强不息。由于其学校对ACM事业的重视,训练体制也是通过自己搭建的评测平台进行的,甚至在平日对普通同学的C/C++语言教学中,便引入了动态规划、数论等一些初级的算法,并将期末考试与ACM评测机制相结合进行考察,人员选拔也有规范而严谨的校赛来负责运行,在这种良性机制的循环下,他们不仅在省赛中取得了良好的成绩,甚至有了几次国际邀请赛的经验。
大一的三位同学显得十分兴奋,sd某大学的同学也表示,这三位同学的实力要比他们的大一后备力量强大,但是假以时日,再过一年呢?两年呢?谁的心中都要打一个问号。这和他们的努力或许有关,但更深层次的原因,也值得我们好好思索一番。
借用毛主席的一句话,“这世界是我们的,也是你们的,但是归根结底是你们的。”大一的三位同学,你们好像八九点钟的太阳。
五
次日十点,比赛正式开始。到下午三点结束,跨度很长。我们的机器位于很靠近主席台的位置。
不得不承认我们的旅程是非常不顺的。各个大学甚至中学的“友情参赛”队伍开始纷纷的出题,我们都没有料到的是,大一的友情参赛队伍,率先挂起了代表我们学校荣誉的气球,他们第一个做出了题来。感谢三位大一同学,你们对得起他校的赞誉。我校其他队伍,也纷纷做出题来——虽然因为题目难度的原因,大家做的都很不顺。
只有我们一无所获了。三个小时的时候,我们的手都在微微颤抖,志愿者送来了饭食,我们却毫无兴趣。在一个错误的循环干扰下,我们拖到了第四个小时。根据国际比赛的规则,最后一个小时是所谓的封榜——我们已经看不到任何队伍排名的变化,而此时我们的前面至少有七十个队伍。
真的要成为有史以来第一个挂零回家的队伍吗?我们此时无比紧张,基本已经处于打乱码的边缘了。但我们旋即冷静了下来——最后分配了一下战术,我和ZHMM改循环的错误,另一个女生看那道我们毫无办法的题。我连续喝了两袋牛奶来平复自己的紧张,在zhmm的帮助下,我们4:14的时候做出了第一个题。2分钟后,第二个题也做了出来。
因为已经封榜,我亲眼看到对面做出一题的学校的队员的脸色由红变绿。偷笑了一下,失去的信心都已找回,最后20分钟,我们冲刺了一道全新的问题。同学10分钟写的搜索代码一次通过了我们能想到的所有情况,最终却没有通过严格的评测机。zhmm同学的代码也始终在错误和超时之间徘徊,直到最后的五分钟结束,也算是一点小小的遗憾。
没有时间修改了啊…我们尽力了啊。这些平日里的套话托词在这一刻显得那么的真实,这场不可复制的游戏,一切都结束了。或者说,又一次开始了。
六
没有太多的停留,我们回到了济南,只留下了这段不可复制的回忆。三个铜牌,万物总会有遗憾,但在遗憾中,美好也油然而生。
某人还在不停的说着“给力”,希望能在暑假的训练中有所突破——如果能在搭建一个我校自己的评测系统,或许会更好的呢;某人在平静中孕育着一丝丝惆怅:还有区域赛和网络赛呢,争取进一次吧,比国足冲出亚洲要容易啊;某人还在看着与sd某校同学的合影,若有所思;队长依然像以往当队长那样欢乐,我们都淡忘了这是他参加的最后一次比赛,他本来是可以在更大的舞台上施展本领的……
遗憾总会有很多,但这是一场不可复制的游戏。
昨天足够遗憾,但已经过去了。我甜甜的睡了,期待着明天的晨曦,洒向我那已经不再青春年少的面庞。
明天还有明天的沟壑,还有明天的风,但是,我们有理想,我们已经不再有畏惧。
一场刺激的游戏——很文艺的山东省第四届ACM赛总结(菜鸟版)的更多相关文章
- 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录
3D游戏引擎设计 实时计算机图形学的应用方法 第2版 目录 第1章 概述1.1 图形硬件和游戏发展史1.2 本书版本与软件发展史1.3 章节导读 第2章 图形系统2.1 基础知识2.1.1 坐标系 ...
- 炫龙笔记本的gtx965m显卡玩游戏很卡
这是我遇到的问题,我2016年10月份这样买了一款笔记本,主要看的是性价比吧!神舟.炫龙都是性价比,所以买了炫龙笔记本 配置如下 cpu:i7 4870hq 显卡:gtx965m 内存条:16G 固态 ...
- 为什么游戏公司的server不愿意微服务化?
背景介绍 笔者最近去面试了家游戏公司(有上市).我问他,公司有没有做微服务架构的打算及考量?他很惊讶的,我没听说过微服务耶,你可以解释一下吗? 我大概说了,方便测试,方便维护,方便升级,服务之间松耦合 ...
- iOS 开发--转场动画
"用过格瓦拉电影,或者其他app可能都知道,一种点击按钮用放大效果实现转场的动画现在很流行,效果大致如下:" 本文主讲SWIFT版,OC版在后面会留下Demo下载 在iOS中,在同 ...
- 有状态 无状态 stateful stateless monolithic architecture microservice architecture 单体架构
为什么游戏公司的server不愿意微服务化? - 知乎 https://www.zhihu.com/question/359630395 我大概说了,方便测试,方便维护,方便升级,服务之间松耦合,可多 ...
- sdut 2610:Boring Counting(第四届山东省省赛原题,划分树 + 二分)
Boring Counting Time Limit: 3000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 In this problem you a ...
- sdutoj 2610 Boring Counting
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2610 Boring Counting Time ...
- sdutoj 2623 The number of steps
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2623 The number of steps ...
- ACM数据结构相关资料整理【未完成,待补充】
在网上总是查不到很系统的练ACM需要学习的数据结构资料,于是参考看过的东西,自己整理了一份. 能力有限,欢迎大家指正补充. 分类主要参考<算法竞赛入门经典训练指南>(刘汝佳),山东大学数据 ...
随机推荐
- C++ 中mallon动态分配内存大小用法
#include<iostream> using namespace std; int main(){ char *s; int n; cin>>n; s= (char *) ...
- IOS常用设计模式之委托模式
对于iOS开发,举例Cocoa框架下的几个设计模式为大家分析.当然,Cocoa框架下关于设计模式的内容远远不止这些,我们选择了常用的几种:单例模式.委托模式.观察者模式.MVC模式. 委托模式 委托模 ...
- Linux Object-C 编译环境安装
sudo apt-get install gnustep sudo apt-get install gnustep-devel sudo apt-get install gobjc . /usr/sh ...
- android APP 中微信分享功能实现 的总结
//花了很长时间最终完成了微信分享功能,中间走了很多弯路,在此做一下小结,希望对在应用中使用到微信分享的朋友有所帮助. 主要问题就是下面两个: 1.为什么运行了项目之后,微信分享只是闪了一下就没有了? ...
- 基于mAppWidget实现手绘地图--索引&DEMO
文章翻译完了,梳理一下,附Demo下载 基于mAppWidget实现手绘地图(一)–简介 基于mAppWidget实现手绘地图(二)–概要 基于mAppWidget实现手绘地图(三)–环境搭建 基于m ...
- ZOJ 3829 Known Notation 乱搞
乱搞: 1.数字的个数要比*的个数多一个,假设数字不足须要先把数字补满 2.最优的结构应该是数字都在左边,*都在右边 3.从左往右扫一遍,遇到数字+1,遇到*-1,假设当前值<1则把这个*和最后 ...
- MVC客户端验证的小示例
MVC客户端验证的小示例 配置客户端验证的可用性: <configuration> <appSettings> <add key="ClientValidat ...
- log4net使用流程
前面大致介绍了一下log4net的概述和结构.既然都清楚了,下面我来介绍一下如何使用log4net. 使用流程 1.这里所说的使用流程就是使用log4net.dll,首先要根据你的平台来找出对应的版本 ...
- SRM589 DV1 250 回文字符串
其实这道题挺简单的,不过刚开始我钻了一个错误的死胡同.想明白之后才发现. 题目要求用最少的时间来将一个字符串变成回文字符串.(具体题目参看topcoder srm589 DV1 250分值的题目,不便 ...
- HDU 2328 POJ 3450 KMP
题目链接: HDU http://acm.hdu.edu.cn/showproblem.php?pid=2328 POJhttp://poj.org/problem?id=3450 #include ...