题面
题意就是给你两个仅包含字符‘a’和‘b’的字符串X,Y,长度<=1e5,问X有多少个不同的字串的与Y的汉明距离不超过K。
汉明距离指的是两个长度相等的字符串,对应位置有多少个不同字符。
首先想下暴力的算法。
设X串下标为0-n,Y串下标为0-m,设F[i]表示X[i..i+m]与Y的汉明距离,很显然就是这样的:
f[i]=∑j=0m[x[i+j]==y[j]]
这条式子在看起来很舒服,但并不是显然的卷积,
没有看过《具体数学》的和式级数的我就要水水地继续推公式。
设z[i]=y[m-i]
f[i]=∑j=0m[x[i+m−j]==z