AC自动机
AC自动机
Top_xiao
这个作者很懒,什么都没留下…
展开
-
HDU 4825 Xor Sum(01字典树 + 贪心)
Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeus 发起M次询问,每次询问中包含一个正整数 S ,之后 Zeus 需要在集合当中找出一个正整数 K ,使得 K 与 S 的异或结果最大。Prometheus 为了让 Zeus 看到人类的伟大,随即同意 Zeus 可以向人类求助。你能证明人类...原创 2018-08-26 19:07:08 · 230 阅读 · 0 评论 -
Codeforces 842D Vitya and Strange Lesson (字典树,倒着想。)
题目大意:给出一个数组,每次操作将整个数组亦或一个数x,问得到的数组的结果中的mex.mex表示为自然数中第一个没有出现过的数。思路:我们可以转化为求没出现的数中的最小值。我们既然这道求亦或最大值,那么一定可以求亦或最小值, 这个和亦或最大值有着相同的思路。题目是给多个值亦或。我们没有必要改变trie树中数,直接把要亦或的值亦或起来。至于trie树中的值。,我们要存入不是题...原创 2018-08-26 19:16:27 · 320 阅读 · 0 评论 -
HDU 5536 Chip Factory (字典树)
题意:求max( (a[i] + a[j]) ^ a[k] ) (i, j, k都不相同) 01字典树。思路:建一个字典树直接找,每次先删除a[i],a[j]然后找出剩下的与a[i]+a[j]的最大异或和,然后然把a[i],a[j]插回去亦或和最大值,trie基本操作。#include <iostream>#include <cstdio>#incl...原创 2018-08-26 19:22:29 · 127 阅读 · 0 评论 -
字典树 + AC自动机
字典树。1、HDU 1251:统计难题(字典树的经典题) 先来个水题练练手。2、处理亦或最大值,亦或最小值。 HDU 4825 Xor Sum,HDU 5536 Chip FactoryCodeforces 842D Vitya and Strange Lesson3、处理一个字符串在所有字符串中出现的次数,在每个字符串中出现的次数最多算一次。HDU 2846 Repo...原创 2018-08-26 20:44:20 · 244 阅读 · 0 评论 -
bzoj 2434: [Noi2011]阿狸的打字机 (AC自动机,dfs序,BIT)
[Submit][Status][Discuss]Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。l 按一下印有'B'的按键,打字机凹槽中最后一个字母会消失...原创 2018-08-22 20:41:41 · 143 阅读 · 0 评论 -
bzoj 3172: [Tjoi2013]单词(AC 自动机)
Description某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。Input第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每个单词由小写字母组成,N<=200,单词长度不超过10^6Output输出N个整数,第i行的数字表示第i个单词在文章中出现了多少次。Sample Input...原创 2018-08-23 09:06:28 · 188 阅读 · 0 评论 -
Luogu P3796 (ac自动机,求模式串在文本串中出现的次数)
AC自动机的裸题,求模式串在文本串中出现的次数。并输出出现次数最多的字符串。还有的就是求模式串有没有在文本串中出现过。只要改一下 询问中for循环就行。 #include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <s...原创 2018-08-21 11:13:12 · 380 阅读 · 0 评论 -
POJ - 2778 DNA Sequence (AC自动机,求可以构造出来多少串.不包含原串,原串有10个左右,)
链接:https://vjudge.net/problem/POJ-2778总共有101 个节点,可以建一个101*101的矩阵.a[i][j] 代表 从节点 i 走到 节点 j 的方案数.每走一步,都会形成一个后缀.就需要这个后缀不能包含给定的串,且在构造的串中,加上一个字符不能达到给定的串.如何构造矩阵呢.,就是从 i 节点,然后加上任意一个字符可以到达的节点 j...原创 2019-08-17 10:16:23 · 97 阅读 · 0 评论