很简单的题,ac自动机里再维护一个len表示每个状态的串长,用s去query时每到一个结点都要暴力跳fail,因为有可能这个结点不是,但是其fail是危险结点,找到一个就直接break 再用个差分数组快速统计覆盖情况即可 using namespace std; #define N 1000005 char s[N],t[N]; int n,cnt[N]; struct Trie{ ],fail[N],end[N],Len[N]; int root,L; int newnode(){ memse…