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

摘要:题目链接: [BJOI2019]奥术神杖 答案是$ans=\sqrt[c]{\prod_{i=1}^{c}v_{i}}=(\prod_{i=1}^{c}v_{i})^{\frac{1}{c}}$。 这样不大好求,我们将这个式子取$ln$,变成$ln\ ans=\frac{1}{c}\sum_{i=1 阅读全文
posted @ 2019-05-02 22:44 The_Virtuoso 阅读(265) 评论(0) 推荐(0)
摘要:题目描述 输入 注意 是0<=P, n , l, m≤ 10. 注意 是0<=P, n , l, m≤ 10. 输出 样例输入 input 1 3 2 2 1 2 1 2 AB BA AA input 2 3 4 2 1 2 1 2 AABA ABAA BAAA 样例输出 output 1 0.25 阅读全文
posted @ 2019-03-20 14:55 The_Virtuoso 阅读(267) 评论(0) 推荐(0)
摘要:题目描述 输入 输出 样例输入 10 2 hello world 样例输出 2 helloworld worldhello 提示 这题算是一个套路题了,多个串求都包含它们的长为L的串的方案数。 显然是一个在AC自动机(trie图)上DP,常规DP状态是f[i][j]表示在AC自动机上走了i步到达了j 阅读全文
posted @ 2018-10-10 09:08 The_Virtuoso 阅读(250) 评论(0) 推荐(0)
摘要:题目描述 Magic Land上的人们总是提起那个传说:他们的祖先John在那个东方岛屿帮助Koishi与其姐姐Satori最终战平。而后,Koishi恢复了读心的能力…… 如今,在John已经成为传说的时代,再次造访那座岛屿的人们却发现Koishi遇到了新麻烦。 这次她遇到了Flandre Sca 阅读全文
posted @ 2018-09-29 19:16 The_Virtuoso 阅读(273) 评论(0) 推荐(0)
摘要:在没学AC自动机之前以为这是一个很高深很难的算法,但其实AC自动机并不难,理解之后就变得非常简单了。 先来介绍一下AC自动机:AC自动机全称Aho-Corasick automaton(不是Accept自动机qwq),是著名的多模匹配算法,在多模匹配问题上相比于kmp效率更快。举个例子:询问多个单词 阅读全文
posted @ 2018-06-15 17:51 The_Virtuoso 阅读(1609) 评论(1) 推荐(6)
摘要:题目描述 给你一个长度为n的字符串A,再给你一个长度为m的字符串B,求至少在A中删去多少个字符才能使得B不是A的子串。注:该题只读入A和B,不读入长度,先读入A,再读入B。数据保证A和B中只含小写字母。 给你一个长度为n的字符串A,再给你一个长度为m的字符串B,求至少在A中删去多少个字符才能使得B不 阅读全文
posted @ 2018-06-14 10:44 The_Virtuoso 阅读(359) 评论(0) 推荐(0)
摘要:题目描述 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串。例如当S=(22,333,0233)时,233是幸运数,2333、20233、3223不是幸运数。 给定N和S,计算不大于N的幸运数个数。 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不 阅读全文
posted @ 2018-06-12 10:33 The_Virtuoso 阅读(341) 评论(0) 推荐(1)
摘要:题目描述 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-06-12 10:32 The_Virtuoso 阅读(377) 评论(0) 推荐(0)
摘要:题目描述 兔子们在玩字符串的游戏。首先,它们拿出了一个字符串集合S,然后它们定义一个字 符串为“好”的,当且仅当它可以被分成非空的两段,其中每一段都是字符串集合S中某个字符串的前缀。 比如对于字符串集合{"abc","bca"},字符串"abb","abab"是“好”的("abb"="ab"+"b" 阅读全文
posted @ 2018-06-11 21:02 The_Virtuoso 阅读(562) 评论(1) 推荐(1)
摘要:题目描述 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串。 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串。 输入 第一行是一个正整数n(n<=12), 阅读全文
posted @ 2018-06-11 20:19 The_Virtuoso 阅读(341) 评论(0) 推荐(1)
摘要:题目描述 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 输入 第一个一个整数N,表示有多少个单词,接下来N 阅读全文
posted @ 2018-06-10 21:43 The_Virtuoso 阅读(423) 评论(3) 推荐(1)
摘要:题目描述 JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群,他们现在使用的是GW文本生成器v6版。该软件可以随机生成一些文章―――总是生成一篇长度固定且完全随机的文章—— 也就是说,生成的文章中每个字节都是完全随机的。如果一篇文章中至少包含使用者们 阅读全文
posted @ 2018-06-10 20:36 The_Virtuoso 阅读(391) 评论(0) 推荐(0)
摘要:题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。 示例: 例如如果{011, 11, 00000}为病毒代码段,那 阅读全文
posted @ 2018-06-08 19:25 The_Virtuoso 阅读(348) 评论(0) 推荐(1)
摘要:题目描述 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。l 按一下印有'B'的按键,打字机凹 阅读全文
posted @ 2018-06-08 16:54 The_Virtuoso 阅读(557) 评论(2) 推荐(2)