随笔分类 -  字符串---AC自动机

摘要:【BZOJ3172】[TJOI2013]单词 题面 bzoj luogu 题解 我们考虑一下$AC$自动机的匹配过程 发现每个字符串的出现次数就是$fail$树上串最后字符节点的权值之和 然后就比较简单了 代码 阅读全文
posted @ 2019-01-09 11:45 heyujun 阅读(190) 评论(2) 推荐(0) 编辑
摘要:【BZOJ2434】[NOI2011]阿狸的打字机 题面 bzoj 洛谷 题解 我们先想一下最暴力是怎么搞的 把$AC$自动机建好,每一个节点,从$y$串的结尾节点往上跳它的父亲, 和普通的$AC$自动机一样跳就好了 然而这个可以优化一下 我们将所有询问离线 每个串统计一次其他串对它的贡献 就可以有 阅读全文
posted @ 2019-01-09 10:40 heyujun 阅读(329) 评论(0) 推荐(1) 编辑
摘要:【BZOJ1212】[HNOI2004]L语言 题面 bzoj 洛谷 题解 其实可以不用AC自动机,但是最近在学就用了。。。 先把自动机建好,然后我们考虑怎么做。 设$vis[x]$表示文本串中$1-x$是否可以被表示出来 然后暴跳$fail$ 设我们当前跳到了点$p$,在字符串的第$i$位 若有以 阅读全文
posted @ 2019-01-08 20:38 heyujun 阅读(117) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2938】[POI2000]病毒 题面 bzoj 洛谷 题解 现在看到字符串的题目就是$AC$自动机23333。。。(以前是哈希) 这题和普通的$AC$自动机题有些许不同 这题的文本串并未给出来 怎么办呢? 想一下,如果一个字符串匹配不到任何东西的话,会怎么样 是不是会一直在里面打转转? 阅读全文
posted @ 2019-01-08 17:35 heyujun 阅读(163) 评论(0) 推荐(0) 编辑