AcWing 4960. 子串简写
原题链接
中等
作者:
来杯whiskey
,
2025-04-04 17:57:04
· 四川
,
所有人可见
,
阅读 2
#include <bits/stdc++.h>
using u32 = unsigned;
using i64 = long long;
using u64 = unsigned long long;
const int N = 5e5 + 10;
i64 sum[N];
int main()
{
int k;
std::cin >> k;
std::string str;
std::cin >> str;
char c1, c2;
std::cin >> c1 >> c2;
i64 res = 0;
for (int i = 1; i < str.size(); i ++) {
sum[i] = sum[i-1] + (str[i] == c2);
}
for (int i = 0; (i + k - 1) < str.size(); i ++) {
if (str[i] == c1) {
res += sum[str.size() - 1] - sum[i + k - 2];
}
}
std::cout << res << "\n";
return 0;
}