GDOI 2026 掀桌记

· · 生活·游记

:::epigraph[——《上山岗》] 后来有一天 能再见面 不知是何年
回忆太重 伤痕太痛 不希望你懂
当岁月 将我们分割 渡不同的河
话说不出口 就来唱首歌 这应该会有用 :::

前情提要:

Day -10\sim -3

dmy 集训。四天模拟赛共通过了三个 T1、零个 T2 和一个 T3,获得了平均分 <138 的好成绩,可喜可贺!

Day -2\sim -1

回家,摆烂,口嗨退役。

Day 0

去到了中山。

试机发现算 10^9 阶乘需要跑 3.5s。其他都挺正常的。

摆烂,口嗨退役。

Day 1

4:4? 醒了,然后睡回去,6:4? 又醒了,遂起床。

7:05 去吃了早餐。

7:30 登上大巴。

8:0? 到达考场。

8:27 开始。先看了一眼题,T1 计数……T2 字符串……T3 构造。

8:3? 打完缺省源,开始想 T1。啊啊啊 \mathcal O(n^3) 不是瞎做吗。诶诶是不是实现精细一点就 \mathcal O(n^2) 了?

写着写着发现我需要求逆元,那多一只 \log 不是爆了?想着先写个正确性对的东西。然后发现只需要求 \mathcal O(n) 次逆元,那不是全对了?

9:3? 的时候过了所有大样例,跑得飞快。

看 T2,先看看特殊性质说的都是啥……B 性质直接 dp,C 性质直接 dp……诶,那不是只需要记一下 S 里面最长匹配的子串 dp 一下就行了吗?

开始以为是 \mathcal O(n^2k) 的,写了一会发现不对劲,我必须记串长否则没法转移啊?那不是全炸了吗?

然后我开始胡串长上界,发现 n+k 似乎非常有道理。又发现可以用 bitset 优化转移,这样复杂度就是 \mathcal O(\frac{n^2k|T|}w),发现大概能过 75,于是继续开写。

写了很久终于过了样例,开始看 T3。

想了一会性质 B 发现会了,写写写。然后看 C 性质,感觉是一坨……

看了看时间不多了,开始拼好分。先给 T2 拼了个按住 |T|\le 320 的乱搞,特判掉 S 全零后过样例了,于是扔了不管了,T3 先拼 m\le 2,再拼爆搜。

最后扔 linux 测了一下,然后就结束了。

出场估分是 100+[75,90]+44=[219,234],小 D 和 ranker 说也挺高的,我想那 Day 2 还得使劲打啊……

回到酒店,摆烂,调整心态。

Day 2

5:?? 醒了,睡回去 6:5? 又醒了,遂起床。

8:27 开题,woc 怎么有交互?T1 交互,T2 构造,T3 大 DS……

T1 一眼感觉很眼熟,然后快速编了个 2n+\log n 次的做法。然后对着这玩意瞪了半天,编了很多分析不明白的东西,然后发现直接问前后缀不就 n+\log n 次了吗?然后又发现倒着问不就是 n 次了吗?

写写写,又是花了大概一小时。写了个拍子拍了一万多组 n=10,没拍出问题来。

看 T2,加满太难看了转成删空,发现可以翻四元环,发现 k=3 是度数奇偶性不变,k=4 是可以翻两条边所以剩至多一条边,k=5 拼不出别的操作然后发现可以翻两个三元环所以是奇偶性不变且最多一个点度数 \ge 2k=6 可以构出翻一条边所以一定能删空。

然后发现可以归纳法证明只用看 \bmod 4。写完发现余 1 的情况 WA 了,发现有一个 corner 是只有一个度数为 2 的点其他全是 0 的时候会矛盾,改完就过了。

然后要构造,发现我的证明过程虽然能构造,但是不仅巨大难写操作次数还直接炸飞。写了一会发现完全写不动,于是紧急写了个 k=3 去看 T3。

T3 是巨大重工业,我一万年才写出一个 \mathcal O(nq\sqrt n)16 分的东西,跑 n,q=2000 的样例甚至跑了 3.5s,我想着反正都是随的就不管了,又拼了个菊花和 r=1

此时还剩半小时多,我一看好像没啥能干的了,觉得这把爆光了,扔 linux 测了一下,又想了想 T2 爆搜啥的,但是也没想出来。

出场估分是 100+34+24=158。一问发现小 D 256 ranker 199 直接破防了,直接问 GD 队线有没有 400,得到的答案是应该有吧

那还说啥了,我最高估分就 234+158=392 还有极大风险挂分,退役了.jpg

发现在 16我曾回答过一个哥们问的 D2T1,说这玩意确定不了 [0,2,3,1][0,3,2,1] 啊。 不是,哥们.jpg

晚上发现很多人估分也没那么高,然后我认为队线可能是 370\sim 380 啥的,那还有点机会?

Day 3

理性分析了一下 D1T2 的乱搞,发现它好像没有任何道理能跑,即使不 WA 也 T 了。

晚上水群,有人看到我 D1T3 44 问我「你 B 性质写对了吗?」,我说「我觉得写对了吧」,毕竟我场上还修了一个 bug。

然后他扔给我一组数据:[1,1,1,0]\to[1,1,1]

我一看傻了:我【数据删除】!不是,这是什么【数据删除】玩意啊???这下好了,全错了,估分陡然变成 357 分。我破防了,发下了「挂分了,退役了」的犇犇。

Day 4\sim 5

这两天都在听听歌,水水群,打打雀,等待着大结局的到来。

但是我听说了 JS 队线只有 285+305????这啥???我死了的心又悬起来了。

Day 6

早上起来一打开电脑,我【数据删除】???我 rank 14 是什么东西???过了一会分数发下来了:

(100+85+36)+(100+34+20)=375

不是这什么锤子分布?D1T2 怎么乱搞真能得分啊?那这个 3620 又是啥?

【紧急撤回了一个退役.jpg】。

自测了一下发现挂得乱七八糟: