随笔分类 -  字符串->trie图

摘要:题目描述: 题解: 先见出Trie图,然后bfs出所有状态。 我们按照字典序遍历,只要找到合法串直接跳出。这样可以保证长度最小+字典序最小。 代码: 阅读全文
posted @ 2018-11-30 20:07 LiGuanlin 阅读(196) 评论(0) 推荐(0)
摘要:题目大意: Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的。 接下来会发生q个操作,操作有两种形式: “1 P”,Bob往自己的集合里添加了一个字符串P。 “2 x”,Alice询问Bob,集合T中有多少个字符串包含串S_x。(我们称串A包含串B,当且仅 阅读全文
posted @ 2018-11-25 21:02 LiGuanlin 阅读(174) 评论(0) 推荐(0)
摘要:题目贴图: 题解: AC自动机/Trie图+矩阵乘法。 首先构建矩阵,因为有: f[ i ] = Σ f[ j ] * g[ j ][ i ] 然后就搞成矩乘了。 把邻接矩阵自乘足够多次就行了。 代码: 阅读全文
posted @ 2018-11-24 20:16 LiGuanlin 阅读(238) 评论(0) 推荐(0)
摘要:题目大意: 求包含n个串的长度最短,且字典序最小的串。 题解: AC自动机/Trie图 + bfs。 我用的是Trie图。 把所有串扔到Trie树上,Trie图建fail指针。 然后的bfs搜索路径。 遍历时从小到大,可以保证字典序最小。 状态中压入各个子串出现过/为出现过。 代码: 阅读全文
posted @ 2018-11-24 16:27 LiGuanlin 阅读(284) 评论(0) 推荐(0)
摘要:题目描述: 给出n个串(总长<=30000),求是否有一个无限长的串,使得不包含任何一个给出串。 题解: 建trie图,然后搜索。 搜索时如果这个点搜过以后无法return true,那么我们可以标记这个点。 只要再次搜到这个点直接return false 代码: 阅读全文
posted @ 2018-11-24 11:09 LiGuanlin 阅读(120) 评论(0) 推荐(0)
摘要:题目描述 打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的: ·输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。 ·按一下印有'B'的按键,打字机凹槽中最后一个字母会消失。 ·按一下印有'P'的按键,打字机会 阅读全文
posted @ 2018-09-19 18:26 LiGuanlin 阅读(160) 评论(0) 推荐(0)
摘要:ac自动机裸题,但我还是写的trie图。 还有,访问过的点要打标记,不然会tle。 代码: 阅读全文
posted @ 2018-09-18 12:46 LiGuanlin 阅读(205) 评论(0) 推荐(0)
摘要:题目描述 JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群,他们现在使用的是GW文本生成器v6版。 该软件可以随机生成一些文章―――总是生成一篇长度固定且完全随机的文章—— 也就是说,生成的文章中每个字节都是完全随机的。如果一篇文章中至少包含使用者 阅读全文
posted @ 2018-09-18 09:57 LiGuanlin 阅读(314) 评论(0) 推荐(0)