传送门 单串匹配显然用\(kmp\) 一个暴力的dp是设\(f_{i,j}\),表示前\(i\)位,正在匹配给定串第\(j\)位的方案,转移就枚举下一位放什么,然后使用\(kmp\)看会匹配到给定串的哪位 但是\(n\)非常大,注意到\(f_{i,j}->f_{i+1,k}\)这样的转移可以抽象为一条从\(j\)到\(k\)的边,并且\(m\)很小,于是可以用匹配的关系构建出邻接矩阵,然后矩乘救星了 不会矩乘优化dp的话可以做下这道题 // luogu-judger-enable-o2 #inc…