A41230.KMP算法
入门
官方
通过率:85.53%
时间限制:1.00s
内存限制:128MB
题目描述
小明和小王是好朋友,他们正在一起学习字符串算法。今天,小明在学习 KMP 算法时遇到了一个难题:给定一个只包含大写字母的字符串s,问这个字符串中有多少个子序列等于 "KMP"。小明想了很久,还是没有思路。
小王看到小明苦恼的样子,决定帮她简化问题。他告诉小明:数据保证字符串中的字符 M
只出现一次,这样问题应该会简单一些。 但即便如此,小明还是不知道如何解决这个问题。于是,小王决定请你来帮助小明,告诉她这个问题的答案。
数据范围
- 1≤∣s∣≤103,其中 ∣s∣是 s 字符串的长度
- 字符串中只包含大写字母
输入格式
输入一个字符串占一行。
输出格式
输出一个数字占一行,表示答案
输入输出样例
输入#1
KMPP
输出#1
2
说明/提示
样例中 "KMP" 作为子序列出现了 2 次,对应的下标(假设从1开始)为 [1,2,3] 和 [1,2,4]。