Archive for July, 2012


其实这篇日志很早以前就应该开始写的,只是因为各种没有边际的理由推脱了。也不算是什么总结把,只是写下自己感触最深的情节。

打完区域赛以后我就决定退役了。那个时候真的没有考虑太多什么离开的事情,CF上有了比赛也还是会去打,寒假的时候还是跟着大家一起去集训,那个时候的想法很简单,就是想在开春的校赛上拿金。当时10选拔也没去,心想着去什么去啊,去了也是被虐。结果看了题目以后也真的没后悔。对,一直以来我都觉得自己很废,因为队友的覆盖面太强了,我一直在主攻数学。这样的训练是非常致命的,因为技术上的缺陷,单打的话我基本上就是残废。一直到现在我还活在这种阴影中从没走出来过。

开学以后就是要准备校赛了。当时本来说好了要和piqi,01orz一起组一个女生队,但是这时出现了一点小意外,就是她们原来的队友yiyezhiqiu没有打进选拔赛,校赛要重新组队。于是我就这么悲惨地被驱逐了,开始重新找队友。

这个时候正好想到了园子和上神他们。居然也一点都没有阻碍地组上了,于是就开始了备战校赛的生活。

他们是和我打比赛次数最少的队友(网预+热身+校赛),但是也是我最怀念的。

上神真是一只很可爱的神啊,各种心里没数什么的,网预都是卡着时间点来,这个时候我和园子都已经准备好了。我们都问他最近准备了没。上神竟然说:连include都快不会写了。我和园子吓了一跳,说不会吧。当然也不能多说什么,就要开打了。上神那边的情况其实我不是很清楚,我自己先秒掉了一道对于我来说很简单的数论题目,后来caesar11给我说他出的题都没人写,我去看了一下是一道模拟,貌似不难的样子。后来事实证明那是个错误,因为我从开场wa到封版。期间还和园子讨论了一下三角形的那个题,然后上神还过了一道我没想出来的数论。我觉得上神是10级最聪明的ACMer了(八卦一下,园子先开始给我说上神的爷爷还给毛主席讲过数学课),比lxclaire_大神还聪明,只是他从来不好好学而已。至于后来打完校赛以后和我一样的退役,就是后话了。

打完网预以后我们是第四,由于校赛进前五就是金牌了,所以我们都对自己挺满意的。跟他们组队我感受到了以前从来没有感觉过的开心。以前和宅神,兆振他们一起的时候,都没这么开心过。虽然他们没有宅神,兆振强,但是我们三个人在一起的时候,我总是有机会说出自己的想法,能和园子一起讨论问题,一起思考,一起开上神的玩笑。这个是和原来的队友组队从来没有做过的事情。

后来就是校赛了。我一上来就把路遥的那题过了,这时上神说B题是水题,我们就让他去敲,然后我和园子又发现了很多水题,把上神赶下来无数次又过了三道题。最后上神在零散的时间内敲出了一个500行的B。在wa了一次以后,成功地拿了一血AC了。这个时候已经过了两个半小时,我们队排在第二的位置。但是放眼望去似乎已经没有可过的题目了。

我又看了一下别的题目,有一道几何看起来还挺恶心的,有道貌似是DP的题(这是园子看出来的),还有一道最长上升序列的变体题目。由于几何是三人共同的短板,LCS又被认定为不能以传统的二分来做,只能做DP了,由于我基本不会DP,看了题目以后(这个题是我读的)就叫上神和园子在那里讨论,我自己在YY那个LCS能不能用贪心的方法来做。后来园子和上神说那道DP非常麻烦,实在是无法想出二维的算法。

园子说要不我们去做那道几何吧。我一想那么麻烦,说不行,你们两个就把这个题搞出来我们就可以拿金了,我相信你们两个搞过oi的。园子说实在是想不出来啊。我说不行,继续想。

到最后还有一个小时的时候,很多队伍都出了6个题。后来我们感觉情形有些不妙了。这时园子重新读了一下几何那道题,并拿过来给我确认,我才开始认真地读了一下那个题。才发现其实没有想象中的那么难。这个时候我已经无奈了就给上神说,换题吧。于是在以后的一个小时内,上神开始敲自己并不擅长的几何,我和园子开始静坐,,无聊的时候还在玩石头剪刀布,之前上神和园子因为一个问题争论得面红耳赤,还用烤串来打赌。这就是我最喜欢的组队状态。虽然校赛这么紧张,但是彼此还是有心情开对方的玩笑,不用担心卡题,不用担心因为反应不过来被宅神吼。一切都是很自然的过程。

最后一刻钟的时候,又有一个队过了六题。这个时候我们已经被挤出金牌区了。上神说不敲了不敲了,敲不下去了。我们都说没事。这个时候三个人都淡然了。静静地坐着等到比赛的结束。

封版以后10级的大家都过来关心我们,为什么两个半小时以后连提交就没有。我们说卡J题了,问他们要怎么做。然后x12x23简要地描述了一下,我们才知道我们把题目读错了。宅神也过来说,如果最后那段解释sample的部分也看的话,完全不会读错的。可是我们没看,我们以为自己读懂了。x12x23还很无奈地对我说,你的六级考得比我好吧?为什么连这道题都没看懂。我也很无奈地说我就是没看懂。然后我就默默地离开了机房。

回到寝室发了条状态:小时候摔跤,要看看周围有没有人,没有就站起来,有就哭;长大后摔跤,也要看看周围有没有人,有就站起来,没有就哭。

以后的几天我深深陷入了对队友的内疚之中无法自拔。这也是我第一次对队友产生内疚之情。是我看错的题,是我错误地引导了两个半小时以后的开题方向,是我拖的后腿。园子给我们队取名叫“back”,来表达归队的决心,现在我让他们两个人都失望了。

后来房教的邮件让我稍稍宽慰了一些。房教说,只有在选拔赛两题以上和校赛银牌以上的队员才能归队。我才最终得以从这种阴影中一点点走出来。

打完校赛后和园子上神就再没有怎么联系。有次看到上神在花坛旁边看两只汪星人打架,我给他打了个招呼,他开心地跳起来回应我,离开以后我感觉特别地开心。因为觉得,自己也没有那么糟糕吧。

后来坚定地决定离开ACM了,那真是一段迷茫的时期,因为我不知道离开ACM以后我努力的方向何在。就像一个为了家庭奋斗的男人,有一天他的妻子孩子离开了他,还有什么奋斗的意义。就像一个本来拥有魔法的人突然被剥夺了所有的魔力。我不想看书,不想听课,活得像一个没有灵魂的孤独的肉体。但是终究苟活到现在了。也渐渐想开了一些。只是看着机房里面怀着和当初的我有同样梦想并为之奋斗的学弟学妹们,心生嫉妒。

后来一些关心我的人也劝我回来,我都说我不会再回来了。我爱她,但是爱不起。

本来说小学期可以让房教给免掉的,但是我自己又退役了,实在是不好意思去说自己想免掉,而且原来课程里有写界面的任务的时候我都是无一例外地傍了大牛,导致自己现在不怎么会写界面(虽然学了半学期的JAVA但是学的东西实在是非常皮毛啊),所以这次决定自己写一个。同学说Qt比较简单,学起来比较快,我就决定用QT来写了。本来是17号布置的任务,由于我装系统又装了两天,到20号才开始学,27号就要开始上GRE的课了,整个过程还是非常紧张的,有段时间我忙得一天只吃一顿饭,最后还是坚持了下来。

最终的成果就是,将近1400行代码,文档写了大约16000字。现在想想还真的挺佩服当时的自己的~

先将整个大作业的要求贴过来好了:

问题描述:
为餐厅实现前台的点菜系统,包括客户端(前台点菜结帐)、服务器端(后台查询、核算)。
基本功能(最低要求) :
客户端程序,需完成以下功能:
点菜:输入顾客所在餐桌号及人数,菜名,酒水名
菜品查询:输入菜名,可显示相关信息。
厨师查询:输入厨师名,显示厨师的相关信息。
结算:输入餐桌号,能计算出消费总额,根据折扣率计算出客户应付的金额,输入顾客实付金额,计算找零。
服务器端,需完成以下功能:
接收客户端的点菜信息,对菜单进行统一处理
接受客户端的结算信息,对营业数据进行核算。
系统维护:自己设定
高级功能:
餐桌管理:可根据顾客的要求,对餐桌再作安排,如分桌或并桌等,最终结账对象也可以处理成分单买单或合并买单,可以把未结账单及所有项目转移至另一桌台。
菜品管理:上菜情况、催菜、退菜
统计报表:统计客流量、销售额、人均消费
自由发挥

下面是我的界面:

服务器端:

客户端:(因为是给客户用的所以要设计得比较萌啦)

聊天界面:(就不贴服务器端的了)

用数据库实现的菜品资料管理:还实现了滚动条喔

统计报表什么的:

客户端的点菜界面什么的最萌了~

还有各种神奇的服务什么的:

总的来说核心技术就是QT Socket和QSQlite(Mysql无法在QT上解决驱动问题啊啊啊啊,我还是太弱了),本来想加音乐的,但是linux下好像对QSound支持不好,就放弃了,小学期这三个星期还是学了很多东西的~写完这个大作业后,我打算写个《QT超级大白速成手册》什么的,也好帮助一下和我一样白的大白们~

就写到这里啦~上课去~