随笔分类 - 字符串——AC自动机
摘要:无摘要..
阅读全文
摘要:咕咕咕咕咕(为什么博客园摘要至少要5个字啊?)
阅读全文
摘要:给n个模式串,问是否存在长度无限的主串,使得任何一个模式串都没有在主串中出现。
阅读全文
摘要:难得写出一道不(很)水的题。
阅读全文
摘要:"题目链接" 首先数位DP 用f[i][0/1]表示匹配到第i位前面i 1位是否为上界。 这样还需要状态转移,对于每个状态 枚举每一个数,用AC自动机得到下一个状态(这样状态其实就是在树上的标号) ps1.数不能带前导0(因为会有00...这样的串),对每一位要先加上以每个非零数开头的方案数 ps2
阅读全文
摘要:"题目链接" cpp //删掉一个单词需要前移一段位置,用链表维护就好了 复杂度O(sum(len)) include include define S 26 const int N=1e5+7; int n; char s[N],p[N]; struct AC_Automaton { int cn
阅读全文
摘要:"题目链接" 首先不需要存储每个字符串,可以将所有输入的字符依次存进Trie树,对于每个'P',记录该串结束的位置在哪,以及当前节点对应的是第几个串(当前串即根节点到当前节点);对于'B',只需向上跳一个节点。 然后构建Trie图。fail[]有一个重要意义是: 若fail[y]=x,那么y节点表示
阅读全文
摘要:题目链接: "简单版" , "增强版" 简单版: cpp include include const int N=1e6+5,S=26; char s[N]; struct AC_Automaton { int cnt,q[N],val[N],fail[N],las[N],son[N][S]; //
阅读全文