2024EC Finals 游记
期末考试刚结束就坐上了去往上海的火车,由于大二在 12 号上午还有考试,我们一起在 12 号下午从北京出发,也就没有参加热身赛的机会。看了看热身赛的榜,感觉每个学校的队伍都非常强力,像区域赛那样夺杯的概率显然为 0,希望能争取一下金牌。13 号由于记错集合时间,我和金老师(蓝色线段树成员)只能单独脱离其他队友行动,在找到队友的时候苏子佩发现没有拿板子又跑回酒店去拿板子,所以我们队伍的照片只有我和 StarSilk 两人(应该没有人以为我们是两个人打的吧)。比赛开始后,我们依然是我从头开,苏子佩从中间开,StarSilk 倒开的顺序看题。A 感觉是一个比较复杂的数数题,如果要写应该也是丢给 StarSilk,B 看完想出了一个类似 dp 的做法,预处理每一个后缀最少分成几段,然后再从头枚举,每次分段的位置只要满足剩下的后缀的最小段数是当前位置加 1,那么可以保证总段数最少,同时高位的数更小。在得出 B 做法时 StarSilk 表示自己已经会 E 了,开始上机写 E。不过在写了一段时间后 StarSilk 又发现 E 有点问题,让我先写 B,在这种种因素下我们在五十分钟时才开始过 B 和 E。看了看榜决定先去看看 K,发现好像答案就是和两个数相加大于等于 m-1 的对数有关,不过好像有不少细节,在 StarSilk 过了 F 后想出了一种更简单的写法,不久也把 K 过了。我和苏子佩已经想出了 L 的构造方法,只需要存在 "10" 就可以构造几乎所有的情况,StarSilk 表示可以先把原串变成 "10" 再展开,所以最后 L 也是 StarSilk 写。我们又发现 I 题的小于等于的条件其实只有可能取到等号,而且同一个边双连通分量内的数是相同的,然后问题就变成了一个树上染色的问题。不过树上的部分还没有一个可行的做法,苏子佩先把边双的部分写好。听到 StarSilk 说可以在 LCA 的位置统计答案,我想到了一种感觉不是很难写的做法,于是我上手写 I,苏子佩和 StarSilk 去开 J,只要这两个题都过了金牌应该问题不大。在距离封榜还有大概半小时的时候 I 的代码就写好了,过了样例,交一发 WA 了(细节不少,WA 几发也算是意料之内),苏子佩又不小心 submit i.cpp -y 了一发,I 又多了一发罚时。打印 I 代码后 StarSilk 开始写 J。对着打印的代码发现了两个问题,但是还是 WA。在三点整的时候 J 写完而且直接 AC,所以就有了一封榜就过题的一幕。有了机时开始上机调 I,发现是在计算前缀和的时候计算到了 n,实际是需要算到边双个数,然后因为有一个数组用了 vector,导致出现奇怪的值,测了自己构造的样例感觉没问题,提交后 AC。这时封榜不到二十分钟,看到 C 过的比较多,不过数数大师 StarSilk 也没有想到低于 O(n^4) 的做法,看见 EA(华丽牧场)在 35 分钟的时候就过了,苏子佩以为是 O(n^4) 卡常卡过去,不过写完 O(n^4) 的做法发现一分钟都跑不出来,完全卡不了常。这时时间不多了,开题也没有希望,愉快下班。不过对于 I vector 访问超出范围为什么是 WA 而不是 RE 感觉很奇怪,又交了几发,还加了一个随机换根(回忆起 CCPC 桂林 H),在 299 的时候又交了一发 AC 代码,发现换根的时候随机根节点范围也写成 1~n 而不是边双个数了。赛后教练看我们 I 在 299 还有提交,以为我们 I 没有过,苏子佩让我们不要和其他人说 I 过了,对外说我们是 6 题。(对所有以为我们是 6 题的选手道歉)在晚上放出了一些内幕消息,如果按我们 6 题的罚时计算好像刚刚是金首银尾的水平,而且金的概率不大。晚上我们三个队一起吃火锅(苏子佩写论文没有来),大家看起来都认为我们没有金了,StarSilk 还一直强调自己 C 没写出来。晚上一起打 UNO,StarSilk 的贪心打法非常厉害。第二天华为挑战赛,水平太菜没能拿到钱,StarSilk 打进了前 20,AutumnKite 虽然正赛只能打星不过华为挑战赛打到了前 10,实在太强了。打完挑战赛我们在学校里找了一家小卖部把上海大学发的卡里的 100 元花掉,感觉不太能花出去,买了几幅扑克在酒店大厅打。大概下午三点要开始滚榜了,我拉着 StarSilk 去领奖,滚榜体验并不是很好,主持人有不少队伍没有提到(我们过 I 的时候也没有提到/fn)。看见了很多眼熟的金牌队拿打铁、难铜,非常感谢能有这么强力的队友带我夺金。直到教练看见我们封榜后过了两题才知道我们 6 题是假的,太抱歉了。最后如愿以偿拿到我校的第一块 EC Final 金牌。和 StarSilk 跑回宾馆放掉牌子又跑回来坐大巴去华为之夜。华为确实大气,包下一个会场,不过感觉菜不算太丰盛。在小鸡的邀请下我和 StarSilk 和武汉理工一桌,吃饭的时候 EA 和 StarSilk 互相推题。校队 9 人里面 5个人中奖,我们一桌中了三个二等奖(EA 和 StarSilk 都中了),我和小鸡都属于中奖绝缘体了/kk,总不能运气一直差吧,明年继续来抽奖!吃完饭苏子佩先回去继续写论文了,我们打算一起去外滩逛一逛,期间咸鱼老师(蓝色线段树成员)在地图上看见一条小河以为是黄浦江,导致走了一段错路,为了赶地铁跑了一段路,StarSilk 累得走不动了,最后看时间也不太够,决定还是打车回去。外滩人不多,看着对岸的灯光,这场上海 EC Final 之旅也可能是蓝色线段树的最后一战也算是差不多结束了。打车回到酒店,点了一点烧烤和奶茶(我的那杯送过来的时候破了/fn),又在一起打了几把 UNO,大家也回房间睡了。第二天一大早金老师就赶火车去了,这个学期就在上海结束了,大家也各自回家回校。是个一个学期终于回家,磨磨蹭蹭两天也算是把游记写完了,EC Final 之旅算是给这一个学期的 ACM 画上一个逗号。愿这个赛季最后的两场 CCPC Final 和 World Final 能取得一个满意的成绩。