2024CCPC哈尔滨站游记
DAY0
晚上 8:30 飞机落地,真切地感受到了祖国东北的寒冷,呼啸的冷风一刀一刀地割在脸上、手上。遂赶紧打了个网约车去酒店。等车的过程中发现高中同学 YingLi 也是这个点的飞机并且直接遇见了,他们队也被冷麻了。
到酒店后发现订酒店的学弟订成了大床房,而且酒店已经没有别的房间了,所以今晚只能和队友 mxy 挤在一张床上。东西放好后和队友出门吃了家酒店附近的烤肉,叫做“烤肉乐”,是一家韩国(朝鲜?)烤肉,果然东北的物价都偏低一些(比起北京来说)。
回酒店后打了会雀魂,又打了一把 mo,就睡觉了,睡得挺香。
DAY1
订酒店的学弟说帮我们队多订了一间双床房(感谢富学弟),于是今晚是和队友 cpy 住双床房。
早上 11 点左右到达体育馆报道,幸亏 YingLi 起得早去绕了一大圈远路并且告诉了我,我们才直接找到了体育馆(居然在学校外面)。此时报到处已经是人山人海,好不容易排到我们之后一看伴手礼发现除了一件打底衫什么都没有(好好学学南京深圳),但是给发了 180 块的餐券。cpy 说在哈工大的同学要请他吃饭,所以我和 mxy 可以一人 90 块在食堂爽吃。东北林业大学的食堂还是很不错的,该有的窗口都有,甚至还有蜜雪冰城。我们还在食堂买到了一种叫大白梨的汽水,貌似是这里的特产,喝起来像是有气的冰糖雪梨。
下午热身赛,我们晚到了一分钟,被入口处的志愿者告知不能再进了(?)。尝试沟通无果后他们又说另一边的入口处应该可以进(?)。我们到了他说的这个入口后果然能进,而且甚至没有人管,很抽象。说说赛场的配置,体育馆内空间很大,比赛的桌子也特别宽,不敲代码的人可以很舒服地打草稿。但是椅子很烂,是斜的,坐上去会往后滑,正式赛的时候还有不少人把椅子坐塌了。键盘也是经典大回车,敲反斜杠会敲到回车。别的还好,甚至可以使用 CLion。
第一题是一个简单构造,我一开始题没读明白,但是队友来切了。第二个题是个博弈论,我是向来不会做博弈题的,所以让队友看,我去看第三个题。后来队友交了很多发第二题都没过,猜的结论都没对,甚至打出 sg 函数的表找到的规律交上去也不对,我看他打 sg 的代码也完全没问题,怎么会是呢?最后几十分钟发现原来是读错题了,于是大家开始重新想,甚至最后还是我想出来的结论。第三题也一直不会,于是我开始水群,发现群友有人发第三题的原题链接,是洛谷原题,看完题解后恍然大悟,然后开始狂敲代码,在最后一分钟过掉了。
晚饭的时候我和 mxy 两个人成功地把剩下的餐券全部花光了。
晚上我们队一起打 cf div2,做到 D 的时候我直接秒了一个做法出来,但是这个做法特别难写。但大家都开始写这个做法。然后 cpy 发现他还有慕课没做,赶紧去做了。直到他做完慕课回来我都还陷在这题的泥潭中。好在最后成功把这种做法写出来过了,而 cpy 做完慕课换了个脑子,想了一种好写一万倍的做法,很快就过了。烂题游泳之后 E 题直接被我嘴巴切掉,但是最后没写完,比赛结束十几分钟后才过样例。
然后被 cpy 的鼾声吵到 2 点多才睡着。
DAY2
早上起来精神状态还算可以,退房之后就去赛场了。
在座位上等到 9 点,主办方通知比赛要延后,估计是服务器寄了,最后延后了 20 分钟。
开赛后一上来我秒了 M,mxy 秒了 G。我把 M 写好后发现过不了样例,于是把代码打出来,让 mxy 来写 G,此时 cpy 也秒掉了 C。看着打印的代码也没看出来问题,直到听到对面桌说“你没排序呀”,才意识到我也没给因子排序,加上排序之后就过了。然后 cpy 上机几下过掉了 C,然后 mxy 接着写 G,也很快就过了。35 分钟写完了 3 道签到,状态挺不错的。
然后我把 J、K 都开出来了,看 J 过得比较多所以先写的 J,并让 cpy 来想想 K 实现上的细节。然后 J 写了挺长时间,大概 20 多分钟,调了一会没过样例,再次打印代码,让 cpy 上来写 K。打印出来之后发现是 sb 错误,打断 cpy 改了一个地方,交上去发现 RE 了,于是 cpy 继续写;半分钟之后发现还有一个 sb 错误,交上去发现又 wa 了……几分钟之后又找到一个错误,交上去又 RE 了……之后又改了一个地方,终于过了。有点过于犯罪了。好在这些没有很打扰到 cpy 写 K,虽然 K wa 了一发,但是在 J 过掉之后 15 分钟 K 就过了。此时是 1 小时 28 分钟,我们已经做完了所有的铜牌题,排行榜上是前 20。
B 其实是一个很水的计算几何的,但是榜很歪,所以我们没有仔细想,而且我在偷听(bushi)隔壁讨论的时候一会又听到说 B 题,一会又说用搜索就好了,导致我以为是很复杂的计算几何,就更没有去想了(隔壁队感觉实力很强),但赛后发现他们说的不是同一题。
之后我们的主攻方向是 A、E、L。cpy 在想 L,mxy 在想 E,我想 A 但是半天不会做,于是我想到敲一个广义 SAM,看看能不能把图压缩到题目要求以内,最后敲了大半天发现远远达不到题目要求。但是在写的过程中,cpy 一直在想用点分治做 L,问我这种思路有没有想法,我跟 cpy 提了一嘴,我说这个题肯定是拆贡献,先算对 1 求和,再看能不能推到对 \(X\) 求和,再看能不能推到对 \(x^2\) 求和。还好他只听了前半句,去想组合意义了,然后我因为广义 SAM 的尝试寄了,就去和他讨论转化之后应该怎么做,最后发现就是一个简单的树形 dp,他说他来写。于是我就继续想 A 以及帮 mxy 想 E。E 题 \(n^4\) 做法很好想,但是不会优化,我只想到了一点点,我跟 mxy 说,肯定要从小到大枚举 t,这样 dp 过程中改变的不多,然后没有思路了,我就继续想 A。之后我又给 cpy 看 L 的代码,他写了很久还 wa 了,我找出一个问题后就改过了。此时 mxy 受到我那句话的启发,想到了大概的正解,和我俩交流之后,cpy 就会了 E 题,就又上去写,我又继续看 A。最后我堪堪想出了 A 应该怎么构造,跟 mxy 讲了一通他没听懂,可能是我表述有点意识流,也有可能是他已经有点比晕了(已经最后一小时了)。4 小时 23 分的时候 cpy 一发过掉了 E,我跟他大概讲了一下 A 的思路,他也没听懂,此时时间已经很紧了,我就不管了直接上机狂敲,很多细节都没想清楚,最后 2 分钟才过样例,交上去 RE 了,又开始 debug,还被 vscode gank了,点运行不给运行,只好用控制台指令编译。改了一个错误之后交上去 wa 了,然后又看到一处错误,改了之后晚 1 秒钟没交上,不然可能是过了,很可惜。
赛后复盘,我们这把对机时的利用很好,没有人上去写代码的时间不超过半个小时,前面题也过得挺快的。最后是银牌靠前的位置,我们算了算罚时,发现即使最后 A 交上去过了也只能银牌前几,这下好受多了。
晚上坐高铁回北京,第一次坐火车站出口处到处拉客的司机的车,因为他开的价格比高德打车便宜,最后也没发生什么事就送到了,对他们的成见--。
下周继续加训,备战下周末的济南,折戟沉沙处……