cf666 C. Codeword 组合数学
题解:
首先暴力很显然 f[i][j]表示到第i个位置,串匹配到j
这样每次是n^2的
我们假设每个位置匹配的第一个位置
然后从这个到上一个位置一定不能等于这个串的值
ans=simga{i,C(i-1,k-1)*25^(i-k)*26^(n-i)}
这样可以做到O(tn)
但是发现一个比较xx的性质就是
不同s的长度只会有1+2+3... n^2=10e5 也就是只有根号个
所以我们可以对这根号个
预处理出simga{i,C(i-1,k-1)*25^(i-k)*26^(-i)}再/(26^n)就可以了