解题思路:
注意事项:边界
参考代码:
#include <bits/stdc++.h>
#define int long long
#define rep(i, j, n) for (int i = j; i <= n; i++)
#define pii pair<int, int>
#define psi pair<string, int>
#define pis pair<int, pair<string, int>>
using namespace std;
template <class T>
using pqg = priority_queue<T, vector<T>, greater<T>>;
template <class T>
using pql = priority_queue<T, vector<T>, less<T>>;
string s;
int pr[500010];
inline int gsum(int l,int r){
return pr[r]-pr[l-1];
}
void solve() {
int n;
cin>>n;
cin>>s;
char c,c1;
cin>>c>>c1;
rep(i,0,s.size()-1){
pr[i+1]+=(s[i]==c1)+pr[i];
}
int aws=0;
rep(i,0,s.size()-1-n+1){
if(s[i]==c){
aws+=gsum(i+n,s.size());
}
}
cout<<aws;
}
int32_t main() {
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int t;
//cin>>t;
//while(t--){
solve();
//}
return 0;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复