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 获胜的概率为 ,那么对于猜测 的所有下注者,其拥有的钱数和的期望值为 。类似地,对于猜测 的所有下注者,其拥有的钱数和的期望值为 。
按照刚刚的结论,我们发现这两个式子都等于 ,所以 ,解方程即可得到上面的结论。
全部评论 100
牛逼
2026-07-21 来自 浙江
42d
2026-07-21 来自 浙江
39过于高产了
2026-07-21 来自 浙江
37w
2026-07-23 来自 浙江
30那你还杀
2026-08-01 来自 湖北
15666阿尔法赞了我
1周前 来自 浙江
9
%%%
2026-07-20 来自 浙江
21s
2026-07-27 来自 广东
12s
2026-07-27 来自 广东
9s
2026-07-27 来自 广东
8
刷个罐头
2026-07-24 来自 浙江
13互
2026-07-26 来自 浙江
10NNNNNNNNBBBBBBBBBBBBBBBBBBBBBBBBB
2026-08-01 来自 浙江
712
2026-08-01 来自 浙江
7
https://www.acgo.cn/discuss/rest/55908 点个赞顶一顶
2026-07-24 来自 河北
81
2026-08-04 来自 浙江
0

2026-07-24 来自 广东
4


2026-07-24 来自 广东
3NB
2026-07-24 来自 浙江
3q
2026-07-23 来自 河北
3刷个罐头
2天前 来自 浙江
21
3天前 来自 广东
2d
3天前 来自 浙江
2刷个罐头
3天前 来自 浙江
2我去那么牛福
2026-08-01 来自 贵州
2发的发发发
2026-08-01 来自 贵州
21
2026-07-23 来自 浙江
2111
2026-07-24 来自 浙江
01
昨天 来自 天津
0
。
昨天 来自 广东
1nb
2天前 来自 浙江
1牛逼
2天前 来自 浙江
1






















































有帮助,赞一个