题意:
给n个本源串,m个病毒串
求一个最多的长度的单词包含所有的本源串并不包含任意一个病毒串
串均为01串
思路:
只有10个本源串
一开始想的是直接建立完trie图 然后在图上直接spfa
结果发现 dis[60005][1030] 超内存了
这个时候就要想到
其实只有节点的mark值大于0的节点是我们需要用的
就是那些含有状压权值的节点
那么我们先记录下这些节点是哪些
...
分类:
其他好文 时间:
2014-11-01 16:21:54
阅读次数:
159
题意求包含模板的长度小于等于L的单词个数。N和L的范围 感觉是构造矩阵。然后开始想状态:对于所有模板建立AC自动机,这样得到每个节点的是否可以包含模板串,构造矩阵。答案=总数-合法数。对L加1 会超出int范围。代码丑的醉了、 1 #include 2 #include 3 #includ...
分类:
其他好文 时间:
2014-10-24 00:15:58
阅读次数:
228
在字符串匹配问题中经常出现这两个概念:文本(text):原文模板(pattern):关键词(相当于一个子串)任务:在text中找pattern常用算法:AC自动机:多个patternKMP:已知pattern,对pattern进行预处理Trie:也叫前缀树,常用于找字符串前缀后缀数组:已知text,...
分类:
编程语言 时间:
2014-10-21 22:59:57
阅读次数:
269
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3065题目大意:多个模式串,范围是大写字母。匹配串的字符范围是(0~127)。问匹配串中含有哪几种模式串,且每种模式串出现了多少次。解题思路:AC自动机模板题。模式串的范围是大写字母,但是匹配串的范围却是...
分类:
其他好文 时间:
2014-10-21 17:28:56
阅读次数:
217
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896题目大意:多个模式串。多个匹配串。其中串的字符范围是(0~127)。问匹配串中含有哪几个模式串。解题思路:AC自动机模板题。注意一下字符范围。cnt记录这个模式串的个数改为这个模式串的index。f...
分类:
其他好文 时间:
2014-10-21 17:21:47
阅读次数:
197
题意:
给N个长度,M个单词,每个单词有权值
输出长度不大于N的权值和最大的单词
代价相同输出长度短的,长度相同输出字典序最小
思路:
开一个字符串数组,暴力存储每个节点的单词!
其他思路和dp都一样
注意:如果和为零的话输出空串。
代码:
#include"cstdlib"
#include"cstdio"
#include"cstring"
#include"cmath"
#...
分类:
其他好文 时间:
2014-10-21 12:21:12
阅读次数:
243
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222题目大意:多个模式串。问匹配串中含有多少个模式串。注意模式串有重复,所以要累计重复结果。解题思路:AC自动机模板题。一开始使用LRJ的坑爹静态模板,不支持重复的模式串。在做AC自动机+DP的时候,扒...
分类:
其他好文 时间:
2014-10-21 02:11:22
阅读次数:
242
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3689黄老师说得对,题目只有做wa了才会有收获,才会有提高。题意:一个猴子敲键盘,键盘上有n个键,猴子敲第i个键的概率是p[i],问敲m次后形成的字符串里出现给定串的概率是多少。这实际上就跟那个ac自动机...
分类:
其他好文 时间:
2014-10-20 09:52:51
阅读次数:
284
AC自动机的题,需要注意的,建立失配边的时候,如果结点1失配边连到的那个结点2,那个结点2是一个单词的结尾,那么这个结点1也需要标记成1(因为可以看成,这个结点包含了这个单词),之后在Trie树上进行行走,每次走到下一个可以走的结点。
14378527
11468
Substring
Accepted
C++
0.585
2014-...
分类:
其他好文 时间:
2014-10-19 20:02:42
阅读次数:
207
一开始一直WA,之后发现这道题不止一组输入,改成多组输入之后就过了。
利用mao...
分类:
其他好文 时间:
2014-10-19 13:03:43
阅读次数:
180