AC自动机+DP
题目链接:bzoj 1030
题意:写 B z o j 的题意就是简单——题意见上……
题解:这道题要求我们求出所有的长度为 M 的包含至少一个已知单词的字符串数量。既然是统计数量 ,我们很自然的想到了动态规划。我们用 F[i][j] 表示用 i 步走到了自动机上 j 号节点,而且从未成功匹配过一次的方案数。这样我们枚举下一位是哪个字母,然后进行转移。如果转移到一个已知单词串的结尾,那么我们将不会累计 F 数组,而是直接将当前的方案数通过乘以 2^(M-i) 累计到答案上。
我思故我在:在AC自动机上跑动态规划,是常见的思路以及套路。