
字符串
文章平均质量分 61
sancpp
这个作者很懒,什么都没留下…
展开
-
P2414 [NOI2011] 阿狸的打字机(AC自动机 fail树 dfs序 树状数组)
传送门 一道比较模板的题,但是比较灵活。 1.先对字符串建立trie树,同时维护每个节点父亲信息fa[now]。 P表示改模式串结束 B表示回退到父亲节点 2.对trie树建立fail指针&fail树。 3.对fail树处理出dfs序,以便用树状数组维护子树和。 4.读入询问,按y关键字排序。(离线处理) 5.在trie上遍历字符串, 每到一个单词的结尾(‘P’)统一处理出所有询问。(第x个单词在这个单词中出现了几次) ‘B’:撤销上一步操作 ‘*’:树状数组改位置+1,继续向下处理。 我的写法相关原创 2021-07-28 20:19:07 · 145 阅读 · 0 评论 -
P3966 [TJOI2013]单词(AC自动机,Trie图)
传送门 初学ac自动机。 ac自动机相当于在trie上建立kmp中的ne指针(fail树) 建树的函数build()比较固定;利用bfs+queue的特点还可以同时求出trie的拓扑序。 匹配的时候就可以灵活操作了。。 题意 某人读论文,一篇论文是由许多单词组成的。 但他发现一个单词会在论文中出现很多次,现在他想知道每个单词分别在论文中出现多少次。 输入格式 第一行一个整数 N,表示有多少个单词。 接下来 N 行每行一个单词,单词中只包含小写字母。 输出格式 输出 N 个整数,每个整数占一行,第 i 行的数原创 2021-07-13 16:36:36 · 159 阅读 · 0 评论