KMP算法题解!!!
2025-03-20 17:36:02
发布于:广东
4阅读
0回复
0点赞
#include <iostream>
#include <vector>
using namespace std;
int main() {
string s;
cin >> s;
int n = s.length();
vector<vector<int>> dp(n + 1, vector<int>(4, 0));
dp[0][0] = 1;
for (int i = 1; i <= n; i++) {
dp[i][0] = 1;
for (int j = 1; j <= 3; j++) {
dp[i][j] = dp[i-1][j];
if (s[i-1] == "KMP"[j-1]) {
dp[i][j] += dp[i-1][j-1];
}
}
}
cout << dp[n][3] << endl;
return 0;
}
这里空空如也
有帮助,赞一个