未曾设想的结局

· · 生活·游记

本文是我 NOI 2026 游记的删减版,删减的内容都是关于一个人的,删减的长度几乎和这篇文章一样长了。

里面有一些网名和真名,如果有幸运(不幸?)出镜的选手不想出镜,可以联系我删掉名字。

Day2 没有打上铜牌线。

其实我觉得我的 WC 游记 还是写得很有意思的,但是 NOI 游记因为把有意思的部分都删了,所以就略显平淡了。

7 月 18 日 报到日

十二点一刻进了学校报道,但是报到处老师的效率实在感人/lb

拍了合照之后进宿舍看了一眼,可能是经历过 WC 吧,已经完全接受宿舍的小了。

吃饭之前跑到纪中宿舍串了个门,怎么纪中老哥已经在睡午觉了?我怎么还没有吃中饭?

赶紧跑到食堂把饭吃了先,结果吃饭的时候接连发生了不好的事情——先是我吃着吃着突然开始鼻血狂流,我也不知道这是怎么回事。勉强止住之后,我尝试用筷子将鸡翅两遍分开,结果筷子直接断了,只剩下我一脸震惊。然后第二次开始流鼻血,又用了一会儿才止住。

下午直接抱着电脑跑去自习室写板子,把集合幂级数板子全写了一遍,点双/边双连通变换没来得及写,应该不会考吧?然后再写字符串板子,SA,exKMP,对着字符串博客自己复习了一遍,感觉经过磨炼之后我的字符串功底应该不算太差了?

快要六点的时候刚好碰到了 @fydj,于是就跟着他去了食堂,和纪中老哥一起吃了个饭。

但是晚饭对我来说真的算是难以下咽,其实也许对于其他地区的选手来说不难吃,但是我实在是受不了藤椒鸡既不麻也不辣,而是酸的。对的,我没有写错,藤椒鸡是酸的,而且是贵州酸汤般的酸。作为一个地道的长沙人,我只能说我实在是吃不惯这种东西。

吃了饭之后,我先去找了 @shizanmono 拿徽章,我的徽章,怎么,这么小。

然后去交换了徽章。

快七点的时候我打算去自习室写个题,结果看手表导致走错路了,不知不觉走到了操场。

突然 @Miss_SGT (btw,你不觉得你叫这个名字很奇怪吗?)在 QQ 上戳了戳我,我手一抖回了一个“找一车奶龙弄你”表情包,惊呼一声然后赶紧撤回,结果听见身后传来同样一声惊呼,回头一看是 @Miss_SGT。然后我们就一路聊天,走到乒乓球台前聊了一会儿。或者说,我以为是一会儿,结果一看表都要七点半了!我赶紧和 @Miss_SGT 道别,往机房跑去。

这个故事告诉我们走路的时候不要看手表。

晚上开了 NOI2018 冒泡排序这个题,做这个题做得很爽啊,不停地在推性质,最后得到了一个可以 DP 的东西,写了一发 O(n^3),发现真是对的。直觉上优化有点像划分数 DP,但是 n=6\times 10^5 感觉就不是这么做的。此时大概是 9:10。

收拾了一下东西,回宿舍和 zdc 聊天。有点闲得没事干,正想在群友并里面反唐的时候,@fydj 给我发消息说要来交换徽章。我说,没问题,于是我就顺利收获了 @fydj 的徽章,并且还跟他聊了一会儿。

正当我打算写游记的时候,熄灯了,于是这些东西都是在黑夜里写完的。

7 月 19 日 笔试

吸取教训,游记写成流水账谁看啊,还是把笔墨着重放在我最想记住的瞬间吧。

开幕式我相信其他选手都吐槽过了,笔试毫无波澜拿下满分,并且试机的时候战胜梦魇,将 WC T2 我场上写不出的暴力连边跑费用流写出来了。想想 WC 之前,我再一次挑战 NOIPT4,也是顺利写出来了。不过不一样的是,WC 那次是我知道做法,而这一次我根本没有补题,也没有看题解。能将想到的东西写出来,可能也算是水平进步的一种表现吧。

晚上 10:30 睡觉,但是辗转反侧,一直躺到 12 点以后才睡着。

7 月 20 日 Day 1

终于要来了吗。

考前不下发密码条是怎么一回事?扫了一眼试题卷,T1T2 传统题,T3 交互题,感觉问题不大啊?

此时我的想法是,幸好交互不是区分题,感觉只要拿下 T1T2,T3 写点暴力这场就不会差。

开 T1,前 30min 对着判定 DP,结果一侧样例发现判定是错的,对着正确的判定 15min 就过了,此时开考 45 min。

开 T2,这是啥玩意,怎么期望还要套最优化?想了一下感觉不会,翻到上面再读一遍题,发现给的是一棵树,而我以为给的是图。(虽然好像树和图没有本质区别,只是图不好求最短路罢了)

推了比较短的时间,我就知道 T1 到底是相求什么了。1h30min 的时候写了一发 O(n^2) 暴力,链感觉上也是好做的,怎么我 90min 会了 150 分啊,这是 NOI 吗。

形式化的说,现在要求的是这个东西:

对于一个点 xk 级邻域 N(x,k),定义 sum_k 表示 N(x,k) 中每个点到 x 的距离和,cnt_k 表示 |N(x,k)|,求最小的 {n+sum_k\over cnt_k}

做 DS 的直觉告诉我,如果这玩意是单峰的,只需要外层三分,内层点分治求邻域信息就好。但是我无法感受出来这是单峰的,所以试了一些方法,可能浪费了半个小时,最后打个表发现真是单峰,所以直接写了一个先三分再在内层跑点分治的做法,大概 2h30min 的时候调出来了,交了一发 selfeval,一看,怎么 45pts???怎么和暴力同分?

输出了一下点分治内层次数,确实是 O(n\log n) 的,我意识到是点分治常数太大了。不过我可以只跑一次点分治把信息记下来,查询的时候直接查就好了。诶这不是点分树吗?

于是我写了一发点分树版本的 O(n\log^2 n),这下确实是 75pts 了,此时是 3h 左右。

做 DS 的直觉告诉我,相邻两个点的最优决策变化量是 O(1) 的,但是我又不敢相信这个结论,先尝试写了一个黄金分割优化三分,发现这个比直接二分确实要快一点,但是仍然过不去。

没招了,我只能打个表看看最优决策变化,发现确实是 O(1) 的,赶紧开写,卡了卡常数,3h45min 的时候通过了。

此时我稍微有一点懊恼,如果 T1 不犯唐对着错误的判定 DP,T2 勇敢一点打个表看一看结论正确性,我就能省下至少 1h 的时间了。但是比赛进程和我赛前预想的相差无几,所以我也没有特别慌。

开 T3,10pts 是送的,然后我发现给了一个 A 性质,全是质数的情况。

先思考一般的情况,基本上可以认为质数和任何数的 \gcd 都是 1,所以不可能通过相邻的数把质数问出来的,唯一的方法是,问一个序列 a,满足 \forall i,(a_i,a_{i+1}) 互不相同,这样就可以根据减少量知道 w 在哪一段内了。

此时我觉得非常熟悉,这不是我们百万富翁,DP 最优决策点然后交互?我觉得稳了,开始想怎么 DP,但是我有点犯难了,这怎么 DP 啊?

最后想了好久,感觉得开始乱搞了,比如说我直接按死了 \gcd \le 10 状压,写了一下效果看上去还可以,但是没有时间了,我还要写输出方案,处理询问……而且状压太慢了,一组询问都要跑 10 s,我完全不知道该怎么搞了,只有最后 10min 了。

此时我有点绝望了,理智告诉我我再不写东西就要寄了,于是开始胡乱写点东西,但是最后时间哪还有什么理智,根本写不出任何东西,真的就只有送给我的 10pts。

出考场的时候我还觉得 100+100+10 是一个不错的分数,在我潜意识里我还在把 T3 当传统题,认为厉害的选手至多也就会个 A 性质,我至多比队线低 20pts 吧。

但!这!是!一!个!交!互!题!

交互题是,你能优秀一点,就能多一点分的!这个再简单不过的道理,我却完全忘记了!

谁说一定要一个一个包写起的!谁说要一档一档分写起的!

出了考场,突然听到有人在说自己 280+pts,我慌了,这是咋回事。

我听到越来越多的选手说自己在 T3 上获得了极高的分数,60,70,80,90 层出不穷,我感到天昏地转,怎么 T3 真是区分题?!NOI 2025 yesterday once more?

我感觉无比绝望,真的很绝望,我怎么还是被交互区分了。

后来我恢复理智,我发现我所难过的不是失利这件事情本身,而是死不明白。如果这个题是一个传统题,也许我也会被拉开一车分,但至少我认了,水平不够,死得明白。

但这是一个交互题啊,还是一个乱搞交互题,高分选手鲜少有手动构造的,退火直接拿下一车分。

我向来交互就不行,做这个题的时候根本就无从下手。我甚至不知道这个题应该怎么做。

NOI 之前我一直抱着尽人事,听天命的想法。客观来说我确实尽到人事了,但天意当真如此时,我还是非常难受。我又有什么办法呢?木已成舟,除了以一个失败者的身份诋毁出题人之外,还有什么是可以做,或者应该做的呢?

下午不记得怎么过去的了,可能也就打打球,打打牌,打打游戏,打发打发时间吧。

晚上我在宿舍休息。睡觉睡得很好,可能是玩累了吧。

7 月 21 日 社会活动日

去海军博物馆,去的时候一直和 zdc 聊天,参观的时候一直在和藤老师聊天。藤老师好像曾经有段时间很喜欢坦克世界,对军事也很感兴趣,所以聊天内容大多是藤老师给我介绍军事相关知识,/bx/bx/bx

下午把前两天游记补了,好累啊,写这么多字。晚上就要开始学习了,不然 Day2 要爆炸了。

晚上仍然睡得很好。

7 月 22 日 Day2

以下的文字是我在 7 月 29 日,也就是过去一周再补的。终究还是要面对的,我到底是怎么死的,我一定要弄清楚。

进考场的时候明显感觉到自己不紧张,因为 Day1 打完差不多结局已定了,所以我的想法只是冲一把 Day2 队线。至少单天打上队线我也可以说我赢了,只是被交互做局了。

开题,三传统,赢麻了!这把我是不是真能打上队线啊?

然后开始看 T1,套路的二分转 01,稍微玩一下可以注意到每个 1 个数大于等于 0 的段,要么长度为 1,要么 01 数量相等,有了这个性质很容易写出一个 O(n\log nk) 的做法。

此时大概是 40min,我觉得我离通过很接近了啊,继续做一做。做一做。做……?怎么 1h30min 的时候我还是不会这个题?

我在看到 2|k 这档分的时候,知道可以分类讨论。但是我并不觉得整个题就是分类讨论,所以一直在研究是不是有我漏掉的性质,现在看来应该没有什么性质是我没有发现的。

还有 k>5 这档分,就显得格外神秘,难道这个题 k 比较大的时候有说法?我没有想出来。

其实赛后出了考场大家都说分类讨论就做完了,但是我总是觉得这个题会有非常优美,小清新的做法,D2T1 怎么可能是大分讨?然后我就被这个题创死了。

但是 1h30min 的我显然还是带有一些理智的,选择了开 T2。然后我对着 T2 一直想,一直想,感觉越做越可做,至少 76pts 我是会的。不过当时我是对着根号分治来想的,所以部分分基本上都会,但是没有想出来怎么得到正解。

但是现在看来也很莫名啊,我这么擅长 DS,为什么做 T2 的时候会先想一个和正解毫不相关的根号分治呢?可能确实是被 T1 创了之后,已经没有什么理智了。

2h30min 的时候,我现在会的分是 70+76,但是写的分是 70+20。此刻我继续昏招频出,我想着 T2 要花好久,写好多代码,才能拿到更多分,我不如先回过头把 T1 的 30pts 拿下,再回过头来看 T2。

现在想想,这又有什么道理?为什么你会的分不写,还要先想你不会的分?况且 76 不低了。

3h 的时候发现我真的不会 T1,这下开始慌了,2h 感觉根本没有办法写完 76 啊?

现在想想,真的写不完吗?而且为什么知道过不了 T1 的时候,你还不写 T2 你会的分啊?哪怕没写到 76 又有啥问题?至少能够多点分啊?

继续做出错误的决定,开 T3,然后我想当然觉得 n\le 16 很简单,结果根本不会怎么指数级。这个时候只有 90min 了,我的得分是 70+20+0,当我发现自己不会 n\le 16 的时候真的气笑了。

然后在 T1,T2,T3 之间反复横跳。最后 90min,在三个题之间反复横跳,到底是什么人会有这样的考场策略。

最后 1h 的时候,我自知回天乏术,开始写 T3 8pts 暴力。结果暴力不知道为什么调了好久,最后发现是实现的时候有个东西想错了,调对的时候已经没有什么时间了。期间我还写了一份链,但是用暴力代码测了一下发现我对链的计数完全不对。所以最后也没交链。

70+20+8=98,甚至没有上 100。还上队线,这个分,能有银牌线吗?当然事后看好像真的没有。

出考场的时候我没有很难过,只是很不解啊,我为什么会过不了 d2t1,我为什么 day2 会打成这样。我当时一个人在操场上散步,想了好久,但是那个时候的思考能想出什么东西。

当时觉得我的考场策略都是没问题的,题目也是没问题的,那到底是什么有问题?难道真的是我的水平有问题?

想不明白,就莫名其妙的寄了。虽然现在回过头看,day2 考场上每一个决策都是错误的,但是为什么我从一开始就昏招频出呢?打得和失智了一样。

下午干了什么已经完全没有印象了,没有特别难过,硬要说的话,就是很压抑。

和家长说了一下,要他们做好最坏的打算,不一定有银牌。

晚上诡异嘉年华,不知道在干些什么,我在操场上面踢球,玩得还挺开心。

洗完澡之后,看到榜出来了,我赶紧看了一下,发现线是 394,我有银牌。从牌子颜色来看,殊途同归了。

晚上深夜 emo,在犇犇里发了长文。

7 月 23 日 颁奖

上午文艺汇演,非常好看!可能大家都怕文艺汇演会干扰国赛发挥吧,所以节目其实比较少,感觉不是特别尽兴。

文艺汇演结束和和内奸张丹诚,主公胡金勇,忠臣祝晨耀一起打三国杀,一局打了很久很久的时间。呃如果你问我是什么身份,呃我说我是绿色忠臣。因为主公是吕蒙,所以平衡性全被搞坏了,大家的策略都形如保 A 杀 B,标将又不够强,所以局面就打得很难受。最后我被闪电劈死,平衡一下就被打破,几个回合之内内奸张丹诚就手刃主公胡金勇。

下午颁奖。闭幕式还是一样的抽象,不过有个唱歌,至少有正常一点的节目了。还有杜子德指导 NOI 学习芬兰颁奖:

晚上比较疯狂,看 B 站到 12:30 才睡的。

尾声

之后再写吧。写累了已经。