MMOI Round 3 题解
2026-07-19 22:02:53
发布于:山东
明天就是 NOI 2026 Day 1,在这里祝我以及参加 NOI 2026 的选手好运,NOI 2026 rp++!
赛后总结帖也许要晚一些发布。
T1 矿车交通
这道题的灵感来源于一道小学数学题:在等车回家的时候,是往车的方向走早点遇到车更快、往家的方向先走一段距离更快,还是原地等待更快?答案是一样快,因为坐的都是同一辆车。
因此可以发现换乘是没有必要的——如果 Steve 最后乘坐的是某辆矿车到达终点,那么他可以选择一直在起点等着这辆矿车并一直坐到终点。因此对于每辆矿车计算乘坐这辆矿车会在什么时候到达终点,并取最小值即可。注意特判只靠步行到达终点和 的情况。
T2 轮回
考虑第 天时 在原序列中所对应的下标 ,显然当 不是 的倍数时,;否则 。将 中的元素分为两部分进行计算:
- 对于 且 的 ,这些 的值为 模 意义下的值;
- 剩下的 值为 模 意义下的值。
可以发现,这两部分每一部分每 个数都会形成循环,通过计算整个循环带来的贡献,并额外加上剩下的部分即可,时间复杂度 。
T3 奇迹
考虑将 个数排成一个环,此时最近的一对 之间的距离不超过 。从小到大枚举两个数的距离 ,将环上所有距离为 的 对点加入猜测序列中,总猜测次数不超过 。
T4 游戏
记 ,其中 为 长度为 的后缀, 为 长度为 的前缀, 表示当 成立时为 ,否则为 。则子问题一的答案为:
计算 是简单的:构造字符串 , 的每一个 border 都对应一个满足 的 ,使用 KMP 算法计算出 的每一个 border 即可。
对于子问题二,一种可能的构造方案是先取 为 的前 位,并在 的最前方放上任意与 不同的字符,将 带入子问题一的公式中很容易证明这是一种合法的构造方案。
下面对子问题一的式子给出证明:先只考虑一个目标串 ,假设有一种下注游戏,在每一轮抛硬币之前,都新来一个下注者,他下注从当前位置开始未来会出现串 。具体地,他初始时拥有 元,下注当前字符为 ,如果猜中,则钱数变成原来的 倍,继续下注 的下一个字符;否则他的钱数直接变成 ,游戏结束。
不难发现这个游戏是公平的,即每回合结束后每个下注者的期望钱数都仍然是 ,因此若游戏进行了 回合,所有下注者拥有的钱数和的期望值也是 ,因此整个游戏所有下注者拥有的钱数和的期望值为 。
对于原问题,假设每一轮抛硬币之前,都会有两个下注者分别下注 和 。考虑计算游戏以 结束时,猜 的所有下注者拥有的钱数和:想要结束时有一位连续猜中的 次的下注者,这要求 ,并会带来 的贡献,这就是式子 的由来。
设 Steve 获胜的概率为 ,则 Alice 获胜的概率为 ,那么对于猜测 的所有下注者,其拥有的钱数和的期望值为 。类似地,对于猜测 的所有下注者,其拥有的钱数和的期望值为 。
按照刚刚的结论,我们发现这两个式子都等于 ,所以 ,解方程即可得到上面的结论。
全部评论 21
牛逼
3天前 来自 浙江
7d
3天前 来自 浙江
6过于高产了
3天前 来自 浙江
5w
昨天 来自 浙江
3
%%%
4天前 来自 浙江
5NB
9小时前 来自 浙江
1q
昨天 来自 河北
1man
39分钟前 来自 浙江
06666
7小时前 来自 浙江
06666
7小时前 来自 浙江
06666
7小时前 来自 浙江
0d
7小时前 来自 浙江
0d
7小时前 来自 浙江
0d
7小时前 来自 浙江
0d
7小时前 来自 浙江
0d
7小时前 来自 浙江
0https://www.acgo.cn/discuss/rest/55908 点个赞顶一顶
7小时前 来自 河北
067小时前 来自 浙江
0NB
昨天 来自 上海
01
昨天 来自 浙江
0T3没有转化到环被卡了/kel
2天前 来自 广东
0不过【数据删除】我怎么过了
2天前 来自 广东
0






















































有帮助,赞一个