于是在鸽了两个月以后,终于又有空水一篇文章了,虽然本站的很多基础建设还不完善,但等后面有空了会做的(大概)。
近况
先简单说一下近况,先是EC打了个很令我意外的结果(并同时失去了一次冲击奖杯的机会),然后研究生组那边给的压力也是有一些的,再加上毕设其实这段时间是相当拿不出时间,所以不管是网站维护,还是游戏都没怎么玩。后来就是偶然看见了metacamp,运气很好地有机会到北京参加比赛,也算是令我感慨万分的一次体验吧。不得不说在高铁上时间还是比较充裕的,然后就有了这篇文章。
一些感想
起初就是看到有机会去北京,然后就试着报了个名,本意是想去未来的学校看看(不过并没有达成目的),后来就转变为全身心投入这个活动了。如果让我用几个词概括一下这几天的过程,那就是 2K一晚的顶级酒店 + 德扑之夜。主办方拿出了足够多的诚意,在几乎所有方面都做到了我认为的最好,整个活动就是以比赛为主,然后每个细节都渗透着主办方的企业文化,体现出工程师的专业和热枕。比赛系统使用了domjudge,装上了wf镜像,还增配了vscode,每个地方都写满了专业。整个比赛可以看得出主办方砸了很多钱,可以说是贫穷限制了我的想象力,体验达到了极致。
然后要说让我最印象深刻的还是德扑之夜了,人生中第一次的多桌锦标赛让我觉得很好玩,同时也借此机会,跟工程师同台竞技,跟身边的选手有了交流。本来我第一晚过去冷餐会的时候我是相当社恐的,一句话都不敢讲,可借这次德扑之夜,有机会和孔朝哲、Heltion、Zayin这些选手都有了一些交流(虽然他们不一定记得我),他们都是在我看来非常优秀的选手,可以说是平时不可能有的机会。最后很遗憾没进入final table,不然也能拿点奖品了。能有这样一个机会当然还有一个原因是主办方做足了工作想让选手之间有所交流,而不是只跟他们交流,每个人衣服上都会贴名字牌,也方便了大家互相认识。
所以说我觉得这次的活动还是相当成功的,一个好的活动不仅仅是比个赛或者训个练这么简单吧,聚在一起营造好的氛围也只是一个基础,还要有交流,有思维的碰撞才能真正给人带来提升。正因如此,这次camp在我心目中的地位就相当之高了,直逼三年前我第一次参加的wannafly camp,metabit的企业文化还有工程师和研究员之间的氛围都让我感到很受启发,让我看到了即使做开发也能很快看到反馈,很快创造价值(以及量化这个行业的变现速度真的惊人,赚的真的多)。
反思
既然是比赛,还是应该对比赛本身有所反思的。
整场比赛主要在被签到题关,搞到三个小时封榜以后才想出来一个可行的方法,然后过了以后直接躺平开始吃汉堡了。
中间简单尝试别的题都失败了,主要还是签到卡住了心态就不稳了,看到别的题过的人少就觉得题目难,从而放弃尝试一些显然的方法,看到别人平均通过花费的时间超过一个小时就觉得自己不可能在半小时内做出来,这可以说是老毛病了,可以更勇敢地去做这些题目,没有足够的思考以前不应该盲目丢掉题目(组队赛的时候更该如此,因为有些题事实上代码量并不高)。
那道卡我的题本身确实不难,只不过不是一个标准的trick,整个还是一个求逆容斥的思想(或者也可以从逐一合并的角度考虑),以后多加注意。
正好今天银川站也结束了,学弟们的成绩并不理想,再加上我这几天的一些感悟,我觉得还是学习方法不对吧,其实也反映出了一些从大学才开始学算法的通病。很多人学算法的时候并没有完整地理解每一个细节,就像我前几天做一道题的时候才发现线性基求异或最大值的时候原来是可以做到每个主元相互独立的,从而利用这个性质可以做一些计数问题。诸如这样的问题有很多,原因就是学的时候没有经过仔细的思考,对线性基的理解不深刻,这样的窟窿有很多,在区域赛里碰到了往往就死路一条了,其实我现在卡在cf上不去红的这个坎上的原因也有很大一部分就是这样的,算是一个主要瓶颈吧。后续地补这些细节其实是相当花费时间的一件事,并且很难保证不有所疏漏,所以在初学的时候就应该重视起来,而我校的教育资源很难去支持这样一个系统的教学,所以只能靠自己注意。另一个问题是代码能力问题,最重要的应该还是多写,包括平时自己的代码怎么才能写对,以及学习别人的写法,在写多了以后其实有些代码很难写不对,debug的时候也可以考虑优先使用对拍调试的方式,而不是对着ac代码抄(对拍我觉得是一个很好的提升代码能力的方法,因为能提高写暴力的速度和能力)。所以说做题不能仅仅是做题,还是要多反思多思考,不能为了做题而做题,先保证质后再保证量(这样4000题的时候很难不上红)。
废话也就讲到这里结束了,下一期起码等毕设全搞完了吧,研究生组那边我差不多也已经躺平了,目前并不想去卷去表现得特别突出。然后由于沈阳延期了,所以沈阳变成了真正意义上的退役之战,希望我也能协调好工作好好训练不留遗憾。