来到ACM俱乐部也有小半年时间了,就我个人而言我是觉得比OI六年收获更多的,不仅重新梳理了基础,也遇到了AMD64的其余二位。了解了自己的不足和欠缺。
武大ACM邀请赛是我们的第一场正式赛,能够和华中区的各位大牛接触同一套题也是让我们觉得很刺激。AMD64这个队伍是在男神和Boblee的撮合之下组成的,应该是组队时间最长,磨合时间最短的一支队伍。之前在校内打过几场模拟赛也有了一定的默契。也有了彼此间的一定的认识。
在武大初赛中因为一道快速幂也顺利过关。作为数学专业的学生,一些数论方面的问题经常是我来负责,但是我的数学和语言的基本功较为薄弱,所以对于算法的实现以及设计的时间都比较慢。那一道快速幂我在初赛之中应该是从开始就拿定了要写的,结果三四个个小时之后才实现改错提交的。之后我也去看了前几届的武大邀请赛的题目,不乏非常巧妙地数论题目,如Number Theory?这种十分考验基本功的题目(如果知道是打表便轻松,但关键是如何想到)。也看了看数论方面的东西。初赛有一道计算几何也是经验不足在精度范围上纠结太久没有想到用叉积(实际上专业课一直在用),由于对这两方面比较敏感,也比较亲睐这方面的东西。
接着就是复赛,由于4月的比赛比较多,在考试之前我还去想了GCJ和编程之美两资格赛题目的思路。
进了现场,当我们发现背后是hust开头的队名是我们就觉得有一定的压力。其次我发现我们自己原创纸质的材料太少了,手边只有一些极角排序之类基础的模板这是首先和hust队伍的差距。题目发下来之后现场其实是有些不太活跃的,比赛的FB并没有在10分钟之内出现,而所有的队伍在赛前10分钟左右都拿到了题目,现场顿时紧张了。看到F题我眼睛又是一亮,数论。便一直在纠结如何DP比较好。这个时候fcburce对我说:“看下J题。”(我一辈子都不会忘记这个决定)我们三(是三个人分别都)推出了正确的方程但是在实现的时候因为正负号的问题送出一次WA,我对于提交也没有信心,把它重新推导两次之后我才交上去了。这也是我们唯一的一题。
之后我们三个人又同时去看了D题,这个显然又是策略一次失误,我们在之后的半个小时之后没有人去敲代码,我又看了看F题,但那个时候的思路比较混乱,没有想好中间的过程如何用,也浪费了一些时间。
faith最后选择了E题线段树来实现,我在转头看见了后面的hust队和前面hust进WF的队伍已经拿到了那只气球。心里开始有了一些压力。我们两个人轮流调试打印,却都没能把自己的题目实现。
到比赛的最后阶段才是最刺激的阶段,封榜之后hust的WF队和左边的华师的队伍开始交替过题,那个时候自己还是调试不出F题,当时的编译器的版本是CB9和Dev一个比较老的版本,由于对这个不熟悉中间吃了好多亏,最后竟然调试时电脑自动重启了(大概三次),心理的防线差点就崩溃了。
比完之后看了一下全场的气球数量,大部分都是只有J题的一只气球,前面hustWF队有7只,左边华师的3只,后面的hust好像是5个。
转头去问了hust队E题的做法,离线线段树,而此前我对这个数据结构还只是有概念(存在)而已。他们的题目分工也是特别明确,所以实现起来也是和高效,
我觉得这场比赛主要有三点今后要注意的:基础,效率。心态。
这一段时间的敲题的数量严重下降了,所以对代码的熟悉程度也降低了,这是今后应该反思的。每次比赛完之后也应该是去尽量的去消化之前的题目,这是我所欠缺的。
欣慰的是我们在比赛之后并没有把题目放在一边,我们还在思考求解方法,这是好事,也是让我觉得不能落后的一点。
以上,继续,继续。