NOI 2025 游记

前言

APIO 之后继续停课,但是期间给学弟出了一场模拟赛,还有端午节和高考假,而且要参加学考以及它的模拟考,所以实际学 OI 的时间减少了很多。

这期间就不怎么打梦熊的模拟赛了。随便做了一些题,比如洛谷公开赛的题,主要再高强度地训就训不下去了。然后开始 VP 历年的 NOI,具体可以看这篇文章。这时候又感觉能卷动了,做 NOI 的题感觉很舒服,比奇奇怪怪的模拟赛里的题要强多了,而且每天能补一两道黑题就比较爽。其实这样官方的资源很多,应该先补完(模拟赛肯定比不上官方的质量对吧)。还定了一个 NOI 前黑题数达到 100 道的目标(定的时候应该是 80 道左右),但是后来开始打 UNR 了就没机会在洛谷做题了,最后定格在 93 道。

写文章的时候发现这次行程(7.10-7.18)恰好就是去年河西走廊游学(7.9-7.17)向后移一天,于是每天都像是活在去年一样,真是 Yesterday Once More 啊。

7.10

到绍兴。火车上把一道原神题写了并写了一篇题解。然后就啥事没干了。下午一直在思考 UNR 的 D2T1,还是不会。晚上吃饭之后看到了一个形似山峰的云,非常有趣。晚上看 D2T1 的题解,还是看不懂,问 cyx 也没问明白,红温了。打算把那道题弃了。看 D1T1 的题解差不多看懂了。没想到重心,还是做题的广度不够啊。

7.11

把 D1T1 写了,好难写,可能是心态不太好想赶紧把那题过了。之后复习了一些 ARC 的题。

7.12

上午报道,碰上很大的雨。去报道处后发现教练忘带学籍证明了,不过可以补救。之后拍了好久的照片。中午吃了顿大餐。回到宿舍后把之前复习 ARC 中不会的那题看了题解。

接近晚饭的时候去操场运动,先走了 1km 再跑了 1km,然后突然想跑一个 400m。结果就随便破了 PB,1 分 12 秒,而且是在湿度 79%、中午没睡着的前提下达成的。想起上次的记录是在一年前的军训,当时随便跑了一次,1 分 14 秒,然后接下来的一年就一直告诉自己我的极限也就是这样了。当时运动会跑 4*400 米接力的时候问旁边的人全都是 1 分 5 秒、1 分 10 秒这样的水平,狠狠地被搞了心态。现在看来我要是拼尽全力应该随便进 1 分 10 秒。深刻地意识到了只有自己能搞自己的心态。

晚上看了一些自己之前的游记,一直看到了初二下,打算明天开始看倒霉的初三。之后写了一些板子。

睡的时候憋尿了,起来上了一下,于是少喝水成为了明天的一个任务。

7.13

上午继续写板子,主要是把 LCT 和线段树历史版本和写了,希望 NOI 考这两个。开幕式没啥意思。中午睡觉又没睡着,起来复习了一下笔试。

下午去笔试并试机。排队的时候志愿者小姐姐(?)好漂亮。笔试写了一下 NTT、快读快写模板,发现即使加上快读快写,输入输出仍然是瓶颈。做完笔试又写了一个 LCT,然后写了一个对拍,挂了。调不出来还憋着需要上厕所。找了好久厕所,上完厕所之后听到试机提前结束了。这我还怎么调啊,难道要遗憾离场了吗?去排队,发现队走的很慢,于是又重回去调题,发现 splay 的时候没更新 tag,改完就过拍了。这算是 rp++ 吗?反正没调出来就 rp-- 了。

打了会篮球,回来继续看游记,又看了一下之前写的一些文章,在 19:30 左右把所有该干的事情都干完了。于是去操场散步。当时是打算先竞走再速度慢慢降下来的,但实际上速度是分段函数,前 5 圈可能是 8 分配,第 5 圈冲了一下,但是也没多快,可能 6 分半左右。后 5 圈就成完全的散步了,速度不值一提。虽然已经到考前一天了,但是我好像不太紧张,也没有什么想法。唯一知道的是这可能是我很少的可以如此放松的时间了。音乐最初在随机纯音乐,后来单曲循环 La Boîte à Musique。这真的是人能创作出来的音乐吗?好喜欢。

21:30 大家准备睡觉,然后 cyx 和 wyh 提出要将门开着防止宿管敲门打扰我们,虽然我预感到了这会是一个非常唐氏的决定但是也没反对。之后宿管过来发现门开着以为里面没人就走了。我感觉宿管会再回来,实在等不住了就把门关上了,然后宿管就过来了,还和宿管交谈了几句,实在是把干扰最大化了。

之后去睡觉但是死活睡不着,浑身都很痒。做了几组呼吸训练并放松了肌肉,终于睡着了。

7.14

我们三个人都忘了拉窗帘,于是我 5:30 左右就醒了,不过感觉精神也没有太差。但是考前完全没有被肾上腺素冲击导致很清醒的感觉。志愿者不是昨天的了,难过。

看 T1。一眼感觉是某种优化建图。发现可以把每个点拆成度数个点,然后要求这个点只会连一条边,但是会连到这条边的端点拆出来的很多点。发现可以拆开前缀和然后就可以前缀优化建图了。突然发现有负边权,又想了一些分块优化建图之类的。突然发现直接把变化量放到前缀之间的边上就行了。看来不用陷入不会 T1 的魔咒了。(8:15)

看 T2。居然是计数题,可能要被送走了。发现操作之后会生成 0,然后两侧就独立了。但是两个端点需要记录变成了多少,状态是是 n^4 的,爆炸了。然后发现可以不用区间 dp,而是钦定一个点是第一个 0。这样可以分讨一下它是怎么变成 0 的,这样就能做第一问了,但是复杂度可能还是很高。第二问可能需要加一些去重?没细想。(8:40 左右)

看 T3。一眼感觉很像 NOI 2023 D1T3,都是那种转化之后可以找到比较优美的性质,再使用数据结构优化的题。尝试转化题意没什么头绪。发现答案是 2 的幂,那就是有些点可以选择两侧,有些点不能选择呗。模拟了一下样例,大胆猜想可以直接枚举两个点,只要两点限制满足了就都满足了。发现大概有两种情况,lca 不相同的情况是确定了某个点,否则是将某两个点连一条边。然后对所有点都没有确定的连通块乘 2。感觉可能是对的,要不然就没法做了。模拟了一下样例 2,发现确实可以过。(9:05 左右)

回去写 T1。写的时候发现根本不用前缀和优化,直接在哪些点上连向前和向后的边就行了。很快写完了,过了样例 1,但是后面的样例挂了。甚至修改 p 的代价为 0 的点都挂了,为什么最短路会挂啊?我读错题了???没有啊。瞪了好久的眼也没瞪出来。这时候感觉失眠导致状态不好的感觉已经逐渐出来了,心态也越来越差。写了一个直接跑最短路的,过了那个样例。那这两个代码有什么区别?没道理啊。破防了,开拍。拍出来了,发现如果一个点出度为零,它不会被拆点,这样在连边的时候就会连到它上一个点那里。这个错误确实很难瞪眼瞪出来。(10:13)

这时候觉得 T2 的做法比较确定,虽然有点难写,而 T3 的做法不一定对,所以先去写 T2。先写了一个枚举排列的暴力,然后开始写之前想的那个做法。写的时候循环越堆越多,最后堆了 4 层循环,心态也越来越差。过了样例 1,挂在了样例 2 的第二组数据。瞪眼还是瞪不出来,还觉得这个思路无比正确。于是我又开始对拍,调过了 n=5,又在 n=8 的时候挂了。调过了 n=8,以为能过了结果交上去又挂了。发现数据生成的时候 b[i] 都是正数。拍 n=1000,还是没挂??看输出全都是 0,怀疑是数据生成挂了但是找不到理由,于是将 n 和值域开小继续拍。最终终于拍出来了,发现思路假了?????之前记录的是 0 和 1 表示当前是否减去 a[i-1],但是显然他还有可能减去 (a[i-1]-a[i-2]) 或者类似的,于是还需要再开一维。改完之后还是挂了。这时候已经陷入了之前打比赛的那种完全不思考思路的正确性和完整性,只靠对拍修修补补的噩梦状态了。还好最后终于调出来了,搞了一年喜提 24 分。优化了一下循环层数,加了个优化跑过了数据随机的点。但是只剩 1.5h 给 T3 了。(11:35)

写 T3。发现还需要建虚树,仔细思考后可以将 lca 都提出来并去重,然后再用 dep 判即可。写了一下,过了前两个样例,但是在第三个样例的第 36 行挂了。又破防了,以为做法又假了。交了一发发现过了 A 性质,得了 28 分,也算是得到保底分了。开始猜是不是某种其他的连边,然后发现实际上应该是最下面的 lca 与倒数第二个 lca 连边,而不是给那个点一个确定的标记。改了一下,真的对了!得了 56 分!(12:01)感慨我居然在这种逆风局中苟住了。然后发现满二叉树也可以做,可以枚举两个 lca。冷静思考后实现了这个做法,将 map 改成手写哈希表之后就获得了 80 分。二百多分在任何比赛都不算是低分吧(flag)。(12:41)

回去赶紧写了一下 T2 的 A 性质,总共得到了 42 分。(12:49)最后几分钟就检查了一下空间(因为 SelfEval 没有空间使用情况),将 T3 哈希表的大小开到了 3e7 并证明了确实不会插入 >3e7 个数。将三道题一起评测了一下,就结束了。

SelfEval 的得分是:100+42+80=222。

结束后看了一下旁边的选手。赛时看他非常困,有的时候在睡觉,有的时候调题急了在拍桌子,感觉可能没发挥好。结果,100+100+80=280???T2 真的是可做题?T3 怎么都会 80?完了。

之后问到了 cyx 也不会 T2,得了 232 分,可能是 T2 多写了一些优化。然后听 cyx 说 rdf 有三个人都是 280 分。感觉可能真的全世界都是 280 分了吧。

复评,没挂。在赛场随机游走,发现一堆打开的都是 280 分,感觉应该遇到了 10 个左右的 280 分,而且打开的密度可能只有 1/10。怎么要翻 58 分啊?算了,包翻不了的,银牌跑路吧,反正我无所谓。

没去听讲题,下午剩下的时间一直在写这篇游记。

晚上本来打算跑步的,但是想先进行其他运动,结果一打篮球直接打到 20:30 了。一起打的有一个澳门的同学非常热情。这次感觉上篮找回来了一些以前的手感,打的更加得心应手了,也可能只是防守强度不够。现在感觉五六年级时篮球水平可能确实挺强的,毕竟现在和当时的姿势也没什么区别。之后整个初中没怎么打过篮球,退步了好多。

晚上喝了两杯多的水,洗了个澡,洗衣服洗了好久。然后玩了玩就睡觉了。因为运动了所以非常容易入睡。

7.15

前一天又忘拉窗帘了……于是早上又 5:40 醒了,之后竟然又睡着了,到 7:00 起的。

社会实践去的博物馆还是挺有意思的,至少没有像 APIO 一样坐牢,不过也没什么特点。球形环绕的电影比较新奇,而且我也比较喜欢有关自然景观的内容。

中午睡了个觉之后去操场走了几圈。我非常喜欢 35 度左右的干热的天气,可以让我出很多汗,感觉湿气都被赶走了。

下午是看电影,看的是《人生大事》。我觉得它至少是一部很善良的影片。有几次我哭了,即使我很克制了。看到群里的评论发现都是对影片逻辑上或者技术上的批评。其实我预感到了但是我还以为这些人也是有人的共同情感的。后来我想了一下其实他们肯定也体会到情感上的冲击了,只是在 OI 圈这个环境下很难表达,就像我现在也在使用逻辑来分析这个问题而不是在情感上对影片或者对他们的行为进行评价。

晚饭后受到 cyx 下国际象棋的启发,下了一盘围棋。开局送了一大块,胜率一度跌到 0.1%,但是后来对方走出了几个勺子,直接翻盘了。有一个差点出棋的地方我搞出了一个循环劫,完全没时间算,最后苟住了一个双活,算是稳住了。甚至走完那块之后黑盘面领先 4 目(我执白),还是一个需要收官的棋。这局棋我完全是心态上赢了对方。对方在领先的时候甚至还下的很激进,反复地找我的问题,导致他的棋也下的千疮百孔。他可能是没有大局观。我就是在这些情况稳住了,没让他找出机会。

之后又去跑步了。跑了一圈多之后发现有一个跑的非常快的人追上来了,于是我打算跟他跑一段……然后就给我跑吐了。跟着跑了两圈多(一共四圈),最后一圈只跑了 1 分 35 秒,结果那个老哥还在跑,而且他还在外道,太恐怖了。可能跑步天生就有差距吧,有些人随便练练就能 4 分配跑三公里,我练一年也只能 4 分半配。其实我没有必要去追赶,跑好自己的节奏就可以不是很累。还是体现出了“竞争是人的本能”这句话。即使追不上,我也想看看自己到底和别人都多大的差距。

之后还是经典的竞走,走了六圈。前三圈是 3 分 40 秒一圈左右的速度。后两圈加速了,3 分 5 秒和 2 分 55 秒(大概)。最后一圈想摆烂了,但是走了 2 分 58 秒。这六圈的强度也不小。问题来了,去年是怎么做到 20 公里 7 分 48 秒的配速的???为什么当时走路都可以随便走出 7 分半的配速啊。孩子不理解。最后又走了三圈,总共 5.2 公里跑路。

然后就又出现喝水的问题了,而且今天只有 1.5h。先回宿舍换了衣服并喝了 200ml 左右的水。问了一下居然有小卖部,于是买了一瓶电解质水又慢慢地喝了 150ml 左右的水,现在感觉还行,希望睡觉的时候没事。

睡觉的时候可能花了半小时就睡着了。

7.16

起来精神状态还可以。

看 T1。看到“三”突然想起来三值逻辑,不会又要被创死了吧。完全没有思考的方向。模拟了一些数据之后大概找到了一些规律:1 的连续段和单独一个 0 操作一次会向右扩展一个。但是还是啥都不会。莫名其妙地想了半小时没思路,赶紧跳过。(8:30 左右)

看 T2。怎么又是该死的计数题。但是形式看起来很简单,不会这道题才是签到题吧。想到枚举 f(P),然后就可以类似 FWT 地做。但是现在有 P∩Q=0 的限制,所以没法直接容斥。然后想到可以枚举 P∪Q,而且要计数的对象也是它,看起来很对。然后发现 f(P)=f(Q)=f(P∪Q),可以将问题转化成将一个与起来等于 0 的集合划分成两个集合使得分别与等于 0 的方案数。然而我还是不会。又想到可以钦定 P∩Q 等于某个集合,剩下的可以任选。但是发现需要在 P∩Q 下对固定的与出来的值进行平方相加的操作,做不了一点。想 A 性质也无果。B 性质看起来是给 OGF 的,但是这玩意我会不了一点。看一下暴力咋做,n^3 是简单的,但是更优的一点不会。(9:00 左右)

看 T3。简化一下题面还挺简单的。是不是可以直接贪心,能用防守的牌就不用进攻的替代呢?好像是对的。那是不是加一个动态 dp 就对了啊?哦,还要二分,但是二分的过程是不是可以在过程中加上就行了?可能是想假了。(9:20 左右)

回去重新思考 T1,还是啥都不会。心态有点爆炸。打算先写一圈暴力稳一下。T1 和 T2 的暴力都很快写完了,T3 写完才发现那个贪心完全假了。如果将进攻的延后有可能会对再后面的牌产生限制。那是不是只能 dp 记录牌的个数了?怎么才 10 分。又突然感觉好像加一维 0/1/2 并再让进攻的牌尽量少就对了。写了一下挂在大样例了。发现还是假了,凭什么进攻的牌越多就越优?破防了,但是发现贪心有 5 分,于是跑路。(10:20 左右)

回去看 T1。诶,怎么好像答案被第一个 110 的位置决定呢?用暴力找了找规律,发现真的是这样。那如果没有连续的 1 呢?继续找规律,发现如果有 101 就是 1 否则是 0。写了一个暴力确实对了!简单的证明了一下确实是这样。为什么放这种诈骗题啊?出题人是什么心态。发现线段树优化一下就完了,赶紧写了一下。交了一发发现只有 75 分,而且都是在后面的点挂的,暴力检查不出来,是不是假了???冷静了一下发现如果 11 在最后会得出 0 但是如果前面有 101 就是 1。改了一下过了。(11:20 左右)

一个半小时大战 T2!然而还是啥都不会。重新思考还是会进入之前想过的老路。突然发现加数的顺序可以任意换,那是不是可以安排一个顺序让 dp 记录的信息少一点?分治!这样高位都是确定的了,可以少一些状态,分析一下是 4^n 的。转移呢?好像就是 FWT,但是怎么要做两维?不过猜想一下也可以这么做。看起来能过 n<=12。但是怎么这么难写啊?还要记录 P 和 Q 是否为空,需要好多讨论。即使我已经隐约感受到无济于事了,但是还是写了下去。调了好久,最后发现是 FWT 做了个寂寞,我以为是传引用,实际上是返回了一个值(那个值我没用)。交了一发 24 分,发现被卡常了。本地跑 4 秒。最后 10 分钟瞪着代码完全不会卡常,相当于这么半天多了 8 分。有点绝望。

SelfEval 的得分是:100+24+5=129。

考完就知道这个分数确实寄了。有个两百分的人问我多少分,我无言以对了。吃饭没见到 cyx,但是看他在群里发的消息好像不太好。后来发现他是 196 分。我以为这个分数还有金牌,结果最后金牌线比他的分还高三十多分,我还是太天真了。甚至我的分数还有可能没有银牌???太震惊了。OI 已经卷到这个程度了吗?要不然退役得了。

复评的时候担心 T3 的贪心会挂,但是没挂。总分是:100+100+42+80+100+24+5=451。

回来水了会群,玩了几把雀魂和 gen,不过实在是无聊。然后写游记。

晚上睡了 30min 但是没睡着,去篝火晚会。挺有趣的,只是放的歌我都没听过,只听过 Never Gonna Give You Up。

回宿舍一直在下围棋,9*9 的棋盘好玩,但是最后打算赢一盘就睡着,又陷入经典的越想赢就越赢不了的困境,最后赢了一个胜率 17% 的老哥,你就说赢没赢吧。玩到 23:45 了,不过可能也是为数不多的可以熬夜的日子了,稍微熬点没事吧。

7.17

没去《我与 NOI》那个活动,感觉可能就是一些唱歌的,没啥意思。下了几盘围棋,好像都赢了。又玩了一会雀魂和 gen。我主要是想在这种过渡时期的垃圾时间把游戏祛魅了。不过中午没啥时间睡觉,得去拍照,精神状态有点差。颁奖仪式每个人单独拍照好评,但是这次的节目好像没有 APIO 的用心。不过最后的《海阔天空》唱的很好听,很有水平。闭幕式结束之后就准备走了。收拾完东西之后发现可能以后再也不会去那个地下室打篮球了,于是就去看了一下。可惜没有篮球,摸了几次篮板。最好可以高于篮板 7cm 左右,篮筐摸不着一点。17:30 走了。

posted @ 2025-07-18 15:16  lotus_f  阅读(58)  评论(0)    收藏  举报