今日得闲,可以回忆回忆了,上次写文章是在医院里,今天又是了。
不知道从何说起,这是我第二次参加蓝桥了,第一次是去年第8届的时候,那个时候学算法学了3个月了,因为我是从2017年1月14号开始学习,为什么这么精确,因为那天是放寒假的时候,刚坐飞机回到家,我发了一条微博,这是我正式开始学习算法的时候。
记得寒假是按照HDU的acm的课件和刘汝佳的紫书课件学习的,紫书有点难了,记得第一次看到用那么短的代码就可以打印出1到n的全排列,太过于震惊,当时还不知道递归,递归还没有写溜,然后自己研究了一个星期大概才明白了,觉得就是好神奇。其实那个我学了好多东西,但是其实都是杂而不精。那个时候实在太菜。对什么都没有概念,比赛要考什么也没什么想法,只是人云亦云说什么暴力杯。
那也是到目前为止学生时代我唯一次在假期里学习东西。
17.4.8
省赛。
打完感觉不太好,过了一个星期出了成绩,省一,当时对我来说是不错的成绩,一直觉得是省二省三的感觉。省赛的rank看起来也不错,好像是第13这样。就这样进了决赛。对决赛肯定也是有了一些小小的期望,按照省赛的成绩感觉国二都是有可能的。
17.5.26
决赛。
在北京,是第二次来了,气温炎热,考点在矿大,第一次去逛了清华,感慨就是两个字:有钱。
想去北大的时候,因为颁奖典礼是在北大,所以想等第二天再去。
比完以后,感觉还是不大好,一共6个题,做了前4个,而且还有几个十分不确定。但是心想国三应该没有问题。
第二天因为一个我的在天津读书的朋友也来北京,来看话剧,于是相约一起吃饭了,吃的宁波菜。真的是一个挺好的回忆。
第二天,知道了成绩,嗯。没错,是优秀奖。是优秀奖里倒数第5,国三都不给我。其实现在想应该是幸好给了我一个奖,有的人连优秀奖都没有,看来我的确很优秀,后来知道只要不是零分就都会有。难过,但是又要在同学面前表现的若无其事,然后坐在北大体育馆的看台上,看着特奖的那群人在北大体育馆的颁奖台的中央。
接下来的事情,总之就是我还是继续走算竞这条路了。
18.4.1
省赛。
愚人节这天。没有特别的感觉,那天还通宵了,因为睡不着,我也不知道为什么睡不着,5点睡了,然后7点半醒了,吃了点早饭,很自觉的买了一杯咖啡,不然感觉很难坚持4个小时。感觉题目都挺常规的,除了最后一道题,其他均可做,比赛的过程还算挺忙碌的,全程都几乎保持着coding的状态,比赛结束以后,就瞬间困了,好想睡觉。
也是差不多一个星期,出了结果,全省rank3,没有什么特别的感觉,心里没什么波动,就是正常发挥了,应该比去年好一点吧,能不能国1?
18.5.24
去北京前一天晚上,我就还在coding板子,感觉考不到图论的题但是还是以防万一都背了一下,还有潘老师给的一个读入输出的加速挂的板子,潘老师说是从petr(一位俄罗斯著名选手)那偷的233。我问潘老师,这个会用的到么,潘老师说应该不会,所以我也就没背。
18.5.25
早上8点多的动车,6点起的床,因为人比较多还给我们分组,我要管12个人,保证他们上车,其实我一直以来都是一个没什么责任心的人。
上了车,5个小时车程,比较无聊,睡了一会觉,和波波看了部电影。到南站就是买地铁票去酒店,还是要吐槽这地铁没有卡就只能用现金…而且只能是5元和10元的纸币,有些也可以用20元的,几次来都是这个情况。
第三次来北京了。
到了酒店,登记信息拖了一段时间后,就准备去看考点,地点是首都经贸大学,不得不说,女生真的好多啊…
到了考点,后来被告知不允许进去,所以只有第二天比赛的时候才能看到到,这个不是一个很好的情况。在陌生的环境多少会有点没底。那就也没办法只能去吃饭了,就吃了当地的食堂。震惊!条件真的太好了,里面有空调,是中央空调,而且还不够,还有好几个台式空调,北京的学校还是有钱啊…不过女生真的还是好多啊…
18.5.26
决赛。
时间和省赛一样从9点到13点,4 个小时。8点半就可以进去了,大概在8点的时候到了,不紧张的不可能的,然后就觉得肚子有一点点痛,我感觉是因为太紧张了,进去以后,在几楼我忘了,好像是5楼,居然还有电梯,有钱有钱,看到机房,我都要快落泪了,完爆我们学校好几条街。财经学校的机房都可以这样…
6道题目,比省赛的10道题少。
离开始还有20分钟大概,我闲着无聊,随手敲了一个网络流的dinic找找手感,说不定就真的考了呢,因为在决赛前一个星期都每天把图论的板子都默写了一遍,熟练度++,也是后来才意识到这毕竟也算是OI赛制,默写也是应该的吧。
9点05分开始的大概,给了密码打开了题目。
第一题是给三个点求三角形面积,猜测会卡精度,最好还是不能用海伦公式,会有精度误差估计,所以用向量的差积会好一点,不会涉大量的浮点数运算。难度:签到。
第二题给1到9个的不同的数,并且划分成两部分,并且使其乘积的结果也是只包含1到9,且是9位。这题比较出人意料,难度要比我想象要低,应该出现在省赛才合理,按道理这题应该也是要拉开差距的题,分值39分,本来都做好花长时间做这题的准备,去年就跪在这第二题了。不管了,还是速速秒掉了,难度:签到?
第三题,额是一个全排列的递归构造,为什么会这么熟悉呢…自己在草稿纸上模拟了一下,也出来了。
第四编程题:数据规模才10,有点小,自己设计的出来的算法时间复杂是
O
(
n
2
)
O(n^2)
O(n2),但是数据规模也太小了吧,难道是想送分么。也速速秒了。
赛后发现大多数人用的都是
O
(
n
4
)
O(n^4)
O(n4),有点慌…
第五道,额…竟然是图论的题,之前反复和潘老师论证应该不会出现图论的题的,竟然出现了,题目大意给出一个n( n < 1 0 5 n<10^5 n<105)大小的有根树,然后会给出m( m < 1 0 5 m<10^5 m<105)的查询 x x x和 y y y,给出 x x x是否为 y y y的祖先节点的判断(YES/NO)。LCA么,还真的背了LCA的板子欸,运气这么好么。不过我只背了用倍增实现的LCA,加上这种方法LCA一共是有三种实现方式,一个tarjan算法离线实现,另一个是用ST算法的在线查询,最优的应该是用ST会比较好,但是这种方法代码量太大了。根本没背,只能用倍增了,查询的时候的常数会大一点,不过应该也能过一些case,也速速秒了,难度:签到?(因为一看就有思路,后来讨论觉得正解应该是DFS序
第六题,发现连题意都很难理解。
看了一下时间,发现才过一个小时加一刻钟。这似乎做的有点出乎意料的顺利,做的比省赛还顺似乎。然后就比较无聊,就开始想一些哲学问题。想提前交卷走人,因为实在太无聊。还有两个多小时,想想算了,提早交卷感觉会败人品。接下来那就检查一下吧。果然,第二题被我看错题意了,第三题发现输出的结果似乎与答案不符,发现被我想简单了,但还是都不难,都也速速改正。然后就开始无穷无尽的造第四题和第五题的数据,构造了一颗超大的树,然后一直自己在查询着玩,感觉效率挺快的,应该可以过不少case。
过程中,发现肚子越来越痛,明明吃早饭了…后来到了中午的点,主办方开始发吃的了,一个荞面面包,一代牛奶,一瓶水。似乎和上次一样,不过上次根本就没来的及吃。无聊就开始吃面包喝牛奶,味道也还行。
离结束还有将近一个小时,东西都吃完了还是很无聊,那就看看最后一题吧,但是就是看不懂啊,但是也没其他事干,就琢磨吧。大概半小时,似乎看懂了,模拟出了他的题意,但是也没什么思路,题意非常怪异。但是我大概想到一个方法,但应该不是正解,我也就抱着骗分的心态去做了,毕竟有107分。万一过了一个case呢,不过概率也不大应该。写完了,也快刚好结束了,还算挺充实的?
出了机房,莫名不知道谁开始说起了第二题的答案,我说是8开头的,斌爷说是。后来开机发现余世骏一直在打我电话,但是我一直关机,他错听成我只要比3三个小时,本来打算在清华见,后来直接就跑过来了…后来吃了饭就打算去清华.
地铁上,突然斌爷发消息问我第2题答案,我预感有不好的事情,他说另一个考场的仨人都是7开头,问我却不确定,额,我又开始回想各种细节,发现我似乎忘记检查那个数的位数了,的确有可能7会比较合理一点,不会吧,这题挂了,我就真的又跪了。如果错了,国一就别想了,国二倒是可以,国三也不太可能了。准备了这么久,死在一道这么简单的题上,想想有点难受啊。想了无数理由安慰自己:自己代码是比较烂,可能是不太适应OI这种赛制吧云云。看来这是命吧。
在夜晚8点,在清华的路上和骏哥和xiao闲逛。突然收到老师的信息,问我做的怎么样,我一头雾水,一直想为啥现在才问我,都过去这么长时间了…我说还行吧,除了第6题,其他均可做,没敢说我第二题挂了的事实,又问我,明天早上想干什么,我说当然想睡觉啊,好累啊。
后来知道了,我是特等了…也终于明白老师为什么问我明天有没有空,原来是叫我去领奖品。是iPad Pro…按照去年以为是手机呢。可能最后一题应该是骗到了分,有点神奇。
不过一直还是不太相信直到看到名单才信了,一直怕是主办方搞错了。不过拿了特等的好处就是可以提前知道成绩了,比赛当晚知道了,其他人得等到第二天中午才能知道。
这两次比赛打得都挺出人意料吧。
2018.6.12