摘要:
题目大意: 给定$n(n\le60)$个字符串$s_i(|s_i|\le100)$,问有多少个长度为$m(m\le100)$的字符串$t$满足至少包含一个$s_i$?保证所有字符串均由大写英文字母构成。 思路: 建立AC自动机。用$f[i][j]$表示构造到$t$的第$i$位,对应自动机上编号为$j 阅读全文
摘要:
题目大意: 给定由$n$个单词组成的文章$(\sum|s_i|\leq10^6)$,统计每个单词出现的次数。 思路: 这一题乍一眼看上去像是用所有单词构造一个AC自动机,然后再用每个字符串去匹配,每次跳转失配指针统计答案。这样确实能在BZOJ上A掉,但是在洛谷上却被卡成90分(考虑一些很长的字符串仅 阅读全文
摘要:
题目大意: 给定$n$个字符串$s_i(\sum|s_i|\leq30000)$,问是否能够造出一个无限长的字符串$t$,使得$t$中没有任何一个$s_i$。 思路: 构造AC自动机。在自动机上DFS,避开所有的危险结点,判断是否有环。若存在环,则$t$存在。 阅读全文