AC自动机
A1847225889
在一次次翻车中吸取教训……
展开
-
6682. 【2020.06.04省选模拟】串在哪
题目 有个长度为nnn的AAA串和若干个串BiB_iBi,BiB_iBi的价值为viv_ivi 若Al..r=BiA_{l..r}=B_iAl..r=Bi,则所有满足[l,r]∈[L,R][l,r]\in[L,R][l,r]∈[L,R]的区间[L,R][L,R][L,R]会得到viv_ivi的价值。 记WL,RW_{L,R}WL,R为区间[L,R][L,R][L,R]的价值。 求maxWL,RR−L+1\max \frac{W_{L,R}}{R-L+1}maxR−L+1WL,R n≤1e原创 2020-06-05 22:31:58 · 343 阅读 · 0 评论 -
AC自动机
曾经以为AC自动机是个很难的东西,但本质上,就是Trip+KMP。AC自动机的运用用多个模式串来匹配主串。AC自动机的步骤1、建立Trie略2、求出fail指针什么是fail指针? 先看张图。 假设模式串分别为abcd,bcd,cd,d 其中红色的代表fail指针 fail指针就是指向当前所表示字符串的最长后缀字符串 这个定义不好看……看图理解。 仔细观察会发现和KMP差不多。预处理原创 2018-02-25 16:29:04 · 249 阅读 · 0 评论 -
[JZOJ4649] 【NOIP2016提高A组模拟7.17】项链
题目 描述 题目大意 给你一堆小串,每个小串都有一定的分数。 让你构造一个字符串,若子串中出现了之前的小串,就可以得到对应的分数(可以重复) 问最大分数。 思考历程 一看这题就知道是什么字符串方面的算法。 然后就很自然地想到AC自动机,多串匹配嘛! 接下来就想到建字符串的过程中,一个指针在AC自动机上跳来跳去…… 先建出AC自动机,然后算出到达每个节点的贡献。 对于每个节点,枚举字母,若没...原创 2019-05-08 21:13:23 · 183 阅读 · 0 评论