人生就像一个个节点,节点中或许有成功,失败,满足,遗憾,但是只要它是不可复制的,在日后,便是美好。

                                                                                                                ——我们的教练

 

                                                                               一

“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赛总结(菜鸟版)的更多相关文章

  1. 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录

    3D游戏引擎设计  实时计算机图形学的应用方法  第2版 目录 第1章 概述1.1 图形硬件和游戏发展史1.2 本书版本与软件发展史1.3 章节导读 第2章 图形系统2.1 基础知识2.1.1 坐标系 ...

  2. 炫龙笔记本的gtx965m显卡玩游戏很卡

    这是我遇到的问题,我2016年10月份这样买了一款笔记本,主要看的是性价比吧!神舟.炫龙都是性价比,所以买了炫龙笔记本 配置如下 cpu:i7 4870hq 显卡:gtx965m 内存条:16G 固态 ...

  3. 为什么游戏公司的server不愿意微服务化?

    背景介绍 笔者最近去面试了家游戏公司(有上市).我问他,公司有没有做微服务架构的打算及考量?他很惊讶的,我没听说过微服务耶,你可以解释一下吗? 我大概说了,方便测试,方便维护,方便升级,服务之间松耦合 ...

  4. iOS 开发--转场动画

    "用过格瓦拉电影,或者其他app可能都知道,一种点击按钮用放大效果实现转场的动画现在很流行,效果大致如下:" 本文主讲SWIFT版,OC版在后面会留下Demo下载 在iOS中,在同 ...

  5. 有状态 无状态 stateful stateless monolithic architecture microservice architecture 单体架构

    为什么游戏公司的server不愿意微服务化? - 知乎 https://www.zhihu.com/question/359630395 我大概说了,方便测试,方便维护,方便升级,服务之间松耦合,可多 ...

  6. sdut 2610:Boring Counting(第四届山东省省赛原题,划分树 + 二分)

    Boring Counting Time Limit: 3000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述     In this problem you a ...

  7. sdutoj 2610 Boring Counting

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2610 Boring Counting Time ...

  8. sdutoj 2623 The number of steps

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2623 The number of steps ...

  9. ACM数据结构相关资料整理【未完成,待补充】

    在网上总是查不到很系统的练ACM需要学习的数据结构资料,于是参考看过的东西,自己整理了一份. 能力有限,欢迎大家指正补充. 分类主要参考<算法竞赛入门经典训练指南>(刘汝佳),山东大学数据 ...

随机推荐

  1. Linux下arp用法

    [功能] 管理系统的arp缓存. [描述] 用来管理系统的arp缓存,常用的命令包括: arp: 显示所有的表项. arp  -d  address: 删除一个arp表项. arp  -s addre ...

  2. BZOJ 4059: [Cerc2012]Non-boring sequences ( )

    要快速在一段子序列中判断一个元素是否只出现一次 , 我们可以预处理出每个元素左边和右边最近的相同元素的位置 , 这样就可以 O( 1 ) 判断. 考虑一段序列 [ l , r ] , 假如我们找到了序 ...

  3. db link 连接不上

    两边的数据库,不在一个地方.都是oracle. 试了很多次,有时提示连接拒绝,有时连接不上.后来改了dblink的创建脚本,如下,才成功了. -- Create database link creat ...

  4. 轻量化ViewControllers,读文章做的总结

    推荐一个网站 http://objccn.io/ 我这两天才开始看 获益匪浅 看了第一篇文章 <更轻量的View Controllers>感觉写的不错 感觉作者 原文地址 http://o ...

  5. 什么是DNS劫持

    我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染. 什么是DNS劫持 DNS劫持就是通过劫 ...

  6. cocos2d-x游戏开发系列教程-坦克大战游戏之敌方坦克AI的编写

    在上篇我们完成了子弹和地图碰撞的检测,在这篇我们将完成敌方坦克AI的编写. 具体思路是屏幕中保持有四个敌方坦克,然后坦克随机方向运动,并且子弹消失后1秒发射一次 1.我们新建一个敌方坦克的AI类来控制 ...

  7. UVA 718 - Skyscraper Floors(数论)

    UVA 718 - Skyscraper Floors 题目链接 题意:在一个f层高的楼上,有e个电梯,每一个电梯有x,y表示y + k * x层都能够到,如今要问从a层是否能到达b层(中间怎么换乘电 ...

  8. 用 Asterisk 搭建自己的免费 VoIP 服务器

    原文 http://www.yaoblog.info/?p=5021 1. 这里以 Debian 为例子,安装 Asterisk apt-get update apt-get install aste ...

  9. Python标准库:内置函数dict(**kwarg)

    本函数是从一个字典參数构造一个新字典.參数kwarg是键值对的字典參数.以两个*开头的參数.就会收集成字典形式. 样例: #dict() #以键对方式构造字典 d1 = dict(one = 1, t ...

  10. InsertOnSubmit、InsertAllOnSubmit等区别 (转)

    a. InsertOnSubmit: 将一个实体添加到datacontext对象中,并在SubmitChange()的时候执行更改. b. InsertAllOnSubmit:将一个实体集合添加到da ...