OI 在役的最后一次 NOIP,也是唯一一次。
其实我很羡慕之前那个乐观的自己,但现在却怎么都开心不起来。
我认真过,但还是做不到。
本文开于 2025/11/20。
CSPS 赛后
\(30 + 0 + 0 + 0 = 30\)。

2025/11/27
上午
倒数第二天,或者说,正数第 418 天。
打了 NOIP 前最后一场模拟赛。
一直以来的 NOIP 模拟赛最高分也就把 T1 切了拼后面的一点暴力或者四道部分分拼起来 100pts+。
严肃决定今天下午改完就开始做点数数题 + 打板子。
下午
出太阳了。
今天的体育课便是退役前最后一次踢球,退役了就没有每天的体育课了(
严肃发现 T1T4 是相对简单题,遂改。
T1
:::info[Solution]
你发现这题有点难的原因是易被 corner case 干掉。
直接推最小操作次数不好想,考虑正难则反,求 \(n \to 1\) 的最小次数,我们有两个操作:
- \(n \leftarrow n + 1\)。
- \(n \leftarrow \frac{n}{2}(\text{n is even})\)
最小操作次数便是尽量选 \(n \leftarrow \frac{n}{2}\),是奇数就用一次 \(n \leftarrow n + 1\) 改成偶数。
但是要求恰好 \(k\) 次就很沟槽。显然我们有浪费次数的方法:
- 对于 \(a \geq 1\),一次 \(a \leftarrow a \times 2\),一次 \(a \leftarrow a - 1\),可以消耗掉任意偶数次操作。
- 对于 \(a \geq 2\),一次 \(a \leftarrow a \times 2\),两次 \(a \leftarrow a - 1\),可以消耗掉三次操作。
可以凑出任何大于一的数,需要浪费的次数刚好为 \(1\) 怎么办呢。
那有没有什么只消耗一次的呢?实则 \((a - 1) \times 2 \to a \times 2 - 1 - 1\) 就是,我们把它考虑到过程中即可。
但是由于修改的优先级,\(n = 2^k\) 或 \(2^k - 1\) 并不能将刚好消耗一次的融入,需要特判。
:::
T4
:::info[Solution]
可以用操作一根据奇偶性将相邻两格数量差修改到 \(1\)。
本质上只关心奇偶性,就算最后削平所有格子也可通过操作二在通过操作一确定好奇偶性关系后削平。
考虑通过奇偶性去分析,显然操作二并不会改变奇偶性。只需要考虑操作一怎么做,不难发现对于不相邻的两格依然可以通过路径上相邻格操作一来做到修改这两格奇偶性关系。
不难发现操作一翻转相邻格的特性可以得到只需要对奇数高度或偶数高度个数进行限制,即可做到整个矩阵变成同一奇偶性。那么可得只需要消掉选择偶数个的高度即可。
那么可以从 \(n \times m\) 入手:
-
\(n \times m \text{ is odd}\)
显然一定存在奇数高度或偶数高度个数其中一个为偶数的情况所以任意选择都可,答案 \((R - L + 1)^{n \times m}\)
-
\(n \times m \text{ is even}\)
这个可考虑暴力枚举奇数个数找规律,记 \(d = \lfloor\frac{R - L + 1}{2}\rfloor\),那么有:
\[\sum\limits_{i = 1}^{\frac{n \times m}{2}}{\binom{n \times m}{2 \times i - 1}d^{2\times i - 1}(R - L + 1 - d)^{n \times m - (2 \times i - 1)}} \] 看起来很顺眼,可以用二项式定理收起来。考虑分开奇偶。
\[(R - L + 1)^{n \times m} = \sum\limits_{i = 0}^{\frac{n \times m}{2}}{\binom{n \times m}{2 \times i}d^{2\times i}(R - L + 1 - d)^{n \times m - (2 \times i)}} + \sum\limits_{i = 1}^{\frac{n \times m}{2}}{\binom{n \times m}{2 \times i - 1}d^{2\times i - 1}(R - L + 1 - d)^{n \times m - (2 \times i - 1)}} \] 这第一部分其实就是我们想要的答案。想到减掉第二部分考虑乘 \((-1)^i\)。
\[\sum\limits_{i=0}^{n\times m}{\binom{n \times m}{i}(-d)^{i}(R - L + 1)^{n \times m - i}} \Leftrightarrow (R - L + 1 - 2 \times d)^{n \times m} \] 可以发现 \((R - L + 1)^{n \times m}\) 和 \((R - L + 1 - 2 \times d)^{n \times m}\) 都把答案算了一遍,这两个的和消掉了第二部分。因此答案为 \(\frac{(R - L + 1)^{n \times m} + (R - L + 1 - 2 \times d)^{n \times m}}{2}\)。
:::
一天结束
其实我一直觉得 OI 有家的感觉,我能找到归属感。完全回 whk 总感觉有点冰冷。
2025/11/28
上午
最后一天!
中午放学。
严肃决定下午回家稍稍颓一会晚上打板子。
在机房的最后一个上午,回忆起曾经种种。一年前恍惚如昨日,只惜那是追忆里遥不可及的。
严肃决定认真把编辑字符串写了后做数数题。
中午
回家。
下午
去 KarmaticEnding 家里玩了会。
NOIP2025 RP++
2025/11/29
前一天睡得挺早的,早上 6:30 起来。和 xguagua 一起去考点。
“我很喜欢大城市开始运作前的宁静”——锦木千束
虽然是周六,早起务工的人也不见得少。街角的咖啡店刚刚开始营业,面馆老板站在热气腾腾的锅前招呼着客人们。雾气蒙蒙。
大约 7:40 到了考点。进考场后 8:28 发密码。
猛攻 T1 发现是贪心状物,遂写,速度挂在第四个大样例。分析未果但发现这份代码能过所有性质遂保留。考虑先开 T2,发现有暴力可打,遂打。看完 T3T4 发现都是神秘复杂状物,想拼部分分发现我不会。滚回去想 T1 的 dp 发现 \(m\) 这个 \(\leq 10^{18}\) 必须扔进状态,把答案和 \(m\) 对换发现答案也有 \(\leq 10^{18}\)。
想了一会,调调改改。
之后罚坐了。最后半小时在注释打《我不曾忘记》的歌词。
跟 CSPS2025 一样没写出 T1 离场。和 Yorg 校门口遇见讨论一通后和 xguagua 坐地铁回去了。去食其家吃了午饭,汉堡肉咖喱豪赤!但是好贵阿啊啊啊啊啊啊啊啊啊啊啊我的钱包啊喂。
最终喜提双休说是。评分黄紫黑黑吓哭了。
结语
成绩其实我都觉得无所谓了,我的水平就那样。教练之前说过我的能力不够可以早点退役,但是我坚持到现在单纯是因为喜欢 OI 和放不下因为 OI 而遇见的人和事。我从不后悔学 OI,就算自己学的很烂,但是一路上因为 OI 我这个人有了很大的改变,思维上有了提升,心智也有所成熟,我不再是那个总是喜欢马马虎虎处理问题的嬉皮笑脸的人,我开始学会冷静思考、理性分析问题。也逐渐有了更深的情感,开始珍视当下的人事物。结果是什么已经不重要了,这些就是我最大的收获。
我是不会放弃 OI 的。
请相信 12 点钟方向未知的曙光,但也不要忘记身后逝去的美好。
当然,请记住珍惜当下。
愿读到这篇文章的你取得满意的结局!