分析 首先考虑只有一个串时的做法,可以进行背包dp,记\(f(i,j)\)表示从\(i\)的子树中某点出发到\(i\)能否匹配字符串的\(1 \dots j\)位且\(i\)与\(j\)匹配.同时记\(g(i,j)\)表示从\(i\)出发到\(i\)的子树某点中能否匹配字符串的\(j \dots len\)位并且\(i\)与\(j\)匹配. 显然有 \[ f(i,j)=f(i,j)|(f(k,j−1)\&[ch=s_j]),f(i,0)=true\\ g(i,j)=g(i,j)|(g(k,j+1…