NC213329. K匹配
描述
输入描述
第一行两个整数分别表示字符串的长度和字符串的长度。第二行一个长度为的字符串表示。第三行一个长度为的字符串表示。保证字符串和中只包含小写字母。
输出描述
输出一行整数表示中满足和是匹配的子串个数。
示例1
输入:
10 2 abaaaababa ab
输出:
33
C++(clang++11) 解法, 执行用时: 468ms, 内存消耗: 33172K, 提交时间: 2020-10-28 14:13:38
#include<bits/stdc++.h> using namespace std; long long n,k,c=-1,d,q,ans; string a,b; int main() { cin>>n>>k;cin>>a>>b; while(q>=0) { if(q=a.find(b,d)); if(q==-1)break; ans+=(n-q-k+1)*(q-c); c=q;d=q+1; }cout<<ans<<endl; }