luogu#P6385. 『MdOI R2』Little Goth
『MdOI R2』Little Goth
题目背景
小 M 和小 B 是一对好朋友,她们很喜欢爬山。
题目描述
山可以抽象为一个长为 的字符串 ,串中仅包含小写字母。
对于一个字符串 ,我们定义 表示串的长度, 表示由 中从左往右数,第 个字符到第 个字符依次连接形成的字符串。
小 M 一开始的位置是 ,她想要到达位置在 处的山顶,而小 B 则要帮助她。为此,她们需要进行一系列操作。
她们必须在所有操作之前使用一次位于 处的传送法阵,通过施展法术,可以使小 B 的位置变为任意满足 且 的 。但同时,她们需要付出 的代价。保证这样的 存在。
之后,假设小 M ,小 B 的位置分别为 和 ,她们可以任意次进行下列操作中的一种:
-
让小 M 爬,即令 或 。如果这一步操作之后 ,则 令 。
-
让小 B 爬,即令 或 。如果这一步操作之后 ,则令 。
-
使用螺旋升天,具体而言,选择两个下标 和 ,满足 ,然后令 。
出于某些原因,任何一次操作结束后,需要保证 。进行一次上述任意一种操作,都需要付出 的代价。
爬山是很累的,因此她们想知道,至少需要付出多少代价才能让小 M 到达山顶,也就是让 。又因为她们很喜欢爬山,她们有很多组询问要问你。
输入格式
第一行两个整数, 和 ,表示串 的长度和询问的个数。
第二行一个长度为 的字符串 ,仅包含小写字母。
接下来 行,每行三个整数 和 ,表明小 M 的位置,传送法阵位置和山顶的位置。
输出格式
共 行,第 行一个整数,表示对于第 个询问给定的 和 ,至少需要付出多少代价,才能让小 M 到达山顶,也就是,让小 M 的位置 。
8 2
dacdaaaa
5 8 1
1 4 5
5
8
提示
【帮助与提示】
为方便选手测试代码,本题额外提供一组附加样例供选手使用。
【样例解释】
对于样例的第一组询问,使用传送法术时,只能令 ,付出 的代价。之后,首先使用一次第三种操作,选择 ,令 ,然后使用一次第一种操作,令 ,即可使 ,一共付出 的代价。
对于第二组询问,可以选择 ,付出 的代价,然后使用一次第三种操作,选取 并使 ,然后进行一次第一种操作,令 即可使 。一共付出 的代价。
【数据范围】
本题采用捆绑测试。
对于全部数据,保证 , 中仅包含小写字母。
子任务编号 | 特殊性质 | 分值 | 时间限制 | ||
---|---|---|---|---|---|
Subtask 1 | 无 | 1s | |||
Subtask 2 | |||||
Subtask 3 | 中仅包含a |
3s | |||
Subtask 4 | |||||
Subtask 5 | 无 | 1s | |||
Subtask 6 | 所有询问的 相同 | 3s | |||
Subtask 7 | 无 | 2s | |||
Subtask 8 | 3s | ||||
Subtask 9 |
性质 是,对于给定的 ,满足条件的 唯一。