解题思路
本题需要模拟石板字母序列的演化过程。每一轮演化从左到右扫描序列,对每个位置的字母,统计其在当前位置左侧出现的次数 x 和右侧出现的次数 y(均不计当前位置本身);若 x=y,则将该字母替换为字母表中的下一个字母(z 的下一个字母循环至 a),否则保持不变。每次替换立即生效,会影响后续位置的计算。
直接模拟 r 轮是容易实现的:一轮扫描需要 O(m) 时间。但 m 和 r 均可达到 105,全部问询的 m 总和与 r 总和不超过 105,因此最坏情况下单组数据的 m 和 r 都可能接近 105,若逐轮模拟 r 次,总操作次数可能达到 O(m⋅r),需要优化。
观察演化规则可以发现:
- 如果没有位置满足 x=y,则本轮序列不会发生任何变化,后续所有轮次也不会再变化(已进入稳定态),可以直接提前结束。