摘要: "题目链接" solution 正难则反√ 考虑如何计算长度为$m$的字符串中不包含所给集合中任意一个串的方案数。 先将所给的所有串建出$AC$自动机。 用$f[i][j]$表示长度为$i$的字符串,第$i$个位置对应$AC$自动机中的第j个位置且不包含所给集合中任意一个串的方案数。 然后枚举每一位 阅读全文
posted @ 2020-04-19 11:06 wxyww 阅读(106) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 容易想到将集合中的所有串建出AC自动机。然后用$f[i][j][0/1]$表示前$i$个位置是(1)否(0)为上界,第$i$个位置对应AC自动机中的$j$号点的方案数。 转移就枚举当前位置填的数字转移即可。 有两个需要注意的地方: 如果某个位置可以通过fail指针跳到 阅读全文
posted @ 2020-04-19 10:20 wxyww 阅读(77) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 将所有的单词建出AC自动机。然后用母串在上面走,并且记录下在母串中的每个位置对应到AC自动机上的位置。当走到一个单词的结尾时,就回到这个单词长度之前的位置。 问题在于如何找到这个单词长度之前的位置。我们用个栈来记录答案,每找到一个长度为len的单词,就从栈顶弹出len 阅读全文
posted @ 2020-04-19 08:28 wxyww 阅读(114) 评论(0) 推荐(0) 编辑