展翅入苍天

· · 生活·游记

寒星坠地 白鸟飞去 千宵灯火转眼便览尽

自我介绍:NOI2025 rk51,NOI2026 rk7

Day -?

考前一段时间做题的状态越来越差,于是开始打 nfls。

发现今年的 nfls 没什么熟人,每天都在努力通过一下 t2 然后调不完 t3,不过考试的成绩还不错,除了必定被 zxx 踹飞。

7.1 某游戏新版本,紧急上号探索一番之后,很快就和 ou 一起去青岛了。

7.8 号落地,晚上和 ou 吃了个船歌,第二天模拟赛打的还行,结果下午就开始流鼻涕,晚上直接暴力发烧,躺在床上根本睡不着,隔二十分钟就要被热醒一次。

第二天机构的老师带我去看了医生,下午检查结果显示喜提甲流,真是开门红。

紧急吃药,过了一两天就好的差不多了,线上继续打模拟赛,偷窥了一下 UNR 的题,发现两个 T2 都会做,但做的时候搞出来一堆假做法,没绷住。

考前最后一场模拟赛,T1 过了八十个结果哥们不会,写了个暴力数据太水偷过去了,T2 费半天劲过了,结果出来发现过了一车,代码还过不去原题样例。

于是成功彻底玉玉了,好不容易搞好的睡眠晚上又爆炸了,于是报道日紧张的不行,被家长安慰了一番才好些。

Day 0

晚上暴力失眠了,哈哈,每隔半小时醒一次,一直到三点半以后还醒了两次,心态再次爆炸,没招了。

幸好早上是开幕式,抓紧时间睡觉,连伟大手子的讲话都没听,就记得好像讲了一下 568 小趣事。

在操场散步,听了一年没听的《光与影的对白》,副歌第二段出来的时候差点没绷住哭出来,回宿舍又休息了一会,感觉精力稍微好点了。

下午笔试,晕沉沉地进场,写了个 game 的费用流就跑路了,笔试好像没挂分。

和 Z 大哥打球之后吃了个饭,丰盛得就像断头饭啊。

父母给我带了一堆治失眠的药,聊了一会心态 +1,晚上七八点继续下楼散步,遇到了胡姐,于是愉快的走马灯回忆 OI 往事,再次心态 +1。

Day 1

晚上依旧艰难,十点多熄灯到十二点才睡着,好歹睡着以后没有再醒来出什么幺蛾子。

吃了个早饭就进场了,路上和 ak 哥合唱白鸟,进场之后继续睡觉,心态相当平静。

先美美阅读纸质体面,好像密码条出问题了,不管。

t1 看着就是签到,t2 看起来是一个数据结构,好像简单求点东西就做完了,t3 是我有点小擅长的交互,看起来有点像 ou 的论文。

简单思考一个差不多的 dp 就开始写,写完发现没保证图联通,但是只要删掉一堆东西就好了,顺便优化一下复杂度,8:40 通过了。

t2 思考一分钟后发现要二分平均数,9:20 打了个暴力,然后邻域数点记成 2log 想半天,研究一下发现是 1log 的,于是直接开始冲刺 2log,花了二十分钟一遍写对,稍微卡常了一下跑到 1.7s,这个时候还不到 10:00。

还有三个小时,还是个交互,优势在我!

然后开始红温,根本找不到有道理的划分,编了个基于二进制的序列,结果效果一坨,然后写了一坨集束搜索,求出的决策在长度 \ge 2 后就没有优化了,没绷住。

红温一个小时,准备先搞一下质数的部分分,编了一个选若干合数使得邻项 \gcd 两两不同并且均分序列的决策。

写了个爆搜,效果有点好,直接应用到原题上,搜出一个长度为 20 的序列能把剩余最大等价类做到 81

第二步继续使用搞笑集束搜索,能把最大等价类分到 30,然后对着 30 个数红温不会做,这个时候已经过去一个半小时了。

紧急上个厕所,突然发现直接把可能答案集合扔进去看回答就行,发现调用三次就有八十几分,超级激动狂喜,11:45 时获得了 286 分。

感觉这个分还不错,但是感觉分数线也要很高,目标努力一下上 295,这样凭借 A 类加分就能超过 400,比较稳健。

还剩多的一次询问,直接把划分出来 \ge 15 的等价类拉出来,继续用第一次询问的策略,选四个数邻项 \gcd 不同且均分序列,效果还行,获得了 94 分。

在这个时候发现我刚才爆搜的代码写挂了,邻项 \gcd 占用后忘记清空了,结果修改之后完全跑不明白,运气到底有多好,总之不管了,继续研究。

发现有一个等价类效果很差,调参成选五个数均分就跑明白了,12:30 获得了 96 分,决定把质数的子任务过了,然后拿同样的代码重新跑了一堆东西,12:45 获得了 298 分。

彻底的摆烂了,一边吃面包一边检查代码,把大样例测完之后一直在使用 SelfEval,比赛就这么结束了。

出来之后遇到 ou,他和 ak 哥只比我低一分,我们一致认为队线可能 290,不过教练的意思大概是 250 左右。

在饭堂遇到胡姐和 ranker,他们都是 260 左右,可能 D2 压力会大一些。

下午紧张的去查分,发现没挂,聊了一会天之后听了个讲评,和 Z 大哥打球。

晚上给 ou 过生日,gp 大手子都来了,分享一下他的 rp。

继续和父母聊天并在操场散步。

Day 1.5

完美的睡眠,很开心。

度过了一个要多坏有多坏的早上,多的赞美之词就不谈了。

下午复习了一下字符串,被韩国 ds 创了,然后和 ou 打球,晚上和 ou、ak 哥、szm、zxx 操场走路唱歌,歌单包括《千千阙歌》《红日》《海阔天空》《我的未来不是梦》《真心英雄》等。

回宿舍休息了一下,然后去门口继续和父母聊天,感觉今天心态挺好的。

Day 2

睡眠依旧非常好,路上和 ranker 合唱了白鸟。

进场之后挺紧张,毕竟这是 OI 生涯最后的五小时了。

尝试用风油精抹太阳穴醒神,结果搞眼睛里去了,气笑了。

打开先看题,发现 t1 是一个看起来像经典 dp 的题,t2 不是交互构造而是我不太擅长的数据结构,而且还是根本不会的 prufer 序列,有点软脚,t3 看着倒像是个小清新计数。

还是顺序开题,最开始把 t1 的收益当成中位数之和研究半天,后来发现是中位数的中位数,二分一下发现解的结构比较简单,猜了个结论,只关心前缀中两种段数差 \in [-2,2] 时的最大段数,不过 k\le 5 过不去,拼了个暴力。

发现是个二维偏序,2log 没戏,不过相邻两次修改的位置相差 \pm 1,所以只要每次从 s-1 更新就行了,9:00 过了这个题,感觉还是有点复杂的。

这个时候感觉思维速度比较慢,看 t2 的时候更加紧张了,本来打算跳了做 t3 的,不过由于我一贯的做题策略,还是硬着头皮研究一下。

花了四十分钟回忆了一下 prufer 序列是什么东西,以及线性构造,在 9:25 打了个最朴素的暴力,发现大概就是要研究每个点 x 的父亲,这样几乎不用管 a_i>r-l+2 的点。

那么很自然研究一下堆中 \le x 的元素个数,发现结构是 \pm 10 取 max,仔细观察发现不取 max 的时候每次都 -1,那么这个折线是单调的,随便二分一下就行。

这个时候大概就懂了,上个厕所研究一下,发现对 r 扫描线,每个元素只由 [1,r] 中最后一次出现位置刻画,然后变成动态二维数点二分。

树套树看起来可能要被卡常,简单思考一下发现可以 BIT 套 BIT,那就很牛了,先写了一个暴力测结论,对着样例二调了半天,10:00 的时候通过了。

然后改数据结构,实际的维护手法和暴力不太一样,不过最后写出来反而简单不少,大概花了十几分钟就差不多搞定了,但是样例二有一两个点死活过不去。

红温了交一发发现只有前两个点和中间两个点没过,检查一下发现是 a_i\ge n 的点没处理,加上之后就过了,最大点只要 1s,顺手挂了个拍,这个时候是 10:50。

看起来时间非常充裕,和平时比较顺利的 nfls 模拟赛差不多,这个时候我的心情就很愉快了,感觉 t3 随便打个暴力应该就够了,不过还是认真研究一下。

很明显的感觉就是检验一组 (c,S) 时只关心子树内 c_u 以及最少有多少种颜色还包含未满足的 S 中点,然后父亲处合并两种颜色时尽量把两个有 S 的处理掉,看起来像是个简单题,没懂为啥能在 NOI 压轴。

最开始完全没想明白不能合并同一子树内两个颜色的限制,然后编了个 n^2 做法,结果越研究越错,卷积要维护的复杂度一路飙升到 n^6,结果都打算摆烂了的代码居然过了样例,这个时候已经 11:40。

仔细观察一下发现特殊性质都能过,那就有 52 分了,这个分基本足够了。

先把空间改成 n^3,然后特判儿子数 \le 2 的点,再用差分把枚举 c_u 的地方优化掉,12:15 得了 60 分,上厕所的时候在台阶上看着天,激动地享受了一会。

仔细一看发现对差分数组两处标记分别只关心卷积里的三个维,分开做就 n^5 了,更开心了,写完后得了 68 分,距离比赛结束还有 35 分钟,但我感觉这个分很高,以及背后的 lhq 大哥和树哥看起来写前两个题都不太顺利,所以给后两题挂了个拍直接摆烂了。

OI 生涯的最后半小时,没有修改任何代码,一边啃面包一边轻松地重复测 SelfEval,就像去年很多人游记里写的那样。

当大屏幕的倒计时清零的时候,我在座位上长舒一口气,属于我的五年的青春就这样画上了一个完美的句号。

出来之后立刻找所有认识的人问分数,好像都是 200+eps,明明这个 t3 都没啥难度。

遇到 cb 跟我说这个分大概 rk 5~10,感觉还不错,不过胡姐和 ranker 都倒闭了,ou 也被 t2 创了,难过。

中午根本吃不下饭,在宿舍焦躁地等待,好像 ak 哥也拿下了,恭喜。

下午查分,发现多了四分,偷过去两个 n\le 200 的点,和父母汇报之后选了 PKU。

在考场和朋友聊天,Z 宝跟我说我 t3 做法只要把其中一维上界开到 \mathrm{dep}(u) 就过了,错失了捧杯的机会,不过也无所谓了。

胡姐说她昨天没睡好今天倒闭了,不过她心态看起来还不错,祝她接下来一年一切顺利。

水了一下群,去校门口还遇到了正在选择 t/p 的 lyj,回宿舍遇到了 ranker,他很伤心,拥抱了他一会。

尝试参加嘉年华,发现很唐,于是在操场躺着,回宿舍没有找到有道理的 ktv,于是继续玩小电脑。

Day 3

早上嘉年华,有好几首我会唱的歌,跟唱《上山岗》的时候 ranker 情绪有点绷不住,安慰了他一下。

下午就是颁奖典礼,这还是我第一次坐到第一排,领奖的时候很开心,尝试模仿 xqw 挥手但是失败了,仔细地观察了金牌然后发了个朋友圈。

闭幕式的最后一首歌是两天前在网易云高考前必听歌单里找到的《我的未来不是梦》,虽然合唱版不咋样,但比起去年的《海阔天空》,这次还算是留下了一段美好的回忆。

结束之后拍了几张照,参加了一个核桃的采访,和 ou zxx 一起拍了一张捧杯的照片。

当我走出城阳一中的校门时,我真切地意识到属于我的高中生涯已经要结束了,而我也马上要迎来 18 岁的生日了,最后还是用对我 OI 生涯有特殊意义的一首歌结束吧:

长风长风飘在山海间

白鸟白鸟展翅入苍天

一去入苍天

苍天远在海背面

一去入苍天

苍天远比海更远