最新文章列表

HDU 3247

AC自动机 先预处理所有可以作为合法单词结尾的点之间的距离,然后在这些点之间状态DP即可 #include <stdio.h> #include <string.h> #define INF 0x3f3f3f3f #define MAXN 60005 char s[1002]; int n,m; int next[MAXN][2],fail[MAXN],flag[ ...
laozhaopian68 评论(0) 有4人浏览 2012-08-28 17:10

[AC自动机]hdoj 3695:Computer Virus on Planet Pandora

大致题意:    给出n个模式串,一个文本串,求出正序和逆序文本串中一共出现了多少种模式串。文本串的输入方式很奇怪,连续的相同字母可以用[nS]代替,代表着连着共n个S。   大致思路:     很奇葩的输入,处理起来有点麻烦,处理完之后就是套自动机模版了。   #include<iostream> #include<cstring> #include&l ...
暴风雪 评论(0) 有1656人浏览 2012-02-04 19:46

[AC自动机]zoj 3228:Searching the String

大致题意:     给出n组模式串数据,每组数据由一个01数字和一个模式串组成,再给出一个文本串。对于每组模式串数据,分别统计其在文本串中出现了多少次,如果前面的数字是0,则代表计数的时候可以重叠,如果是0则代表不能重叠。   大致思路:    好麻烦的一道题,有思路但是真的很难敲,要用多个数组来控制好数据之间的关系,最后还狂mle……擦。对于可以重叠的,直接ac自动机即可,对于不能重叠的,求 ...
暴风雪 评论(0) 有1053人浏览 2012-02-03 00:02

[AC自动机]hdoj 3065:病毒侵袭持续中

大致题意:     给出n个模式串,一个文本串,分别求出每个文本串子在模式串中出现的次数。   大致思路:     基本的AC自动机,要修改一些地方。   #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include <alg ...
暴风雪 评论(0) 有749人浏览 2012-02-02 17:34

[AC自动机]hdoj 2896:病毒侵袭

大致题意:    给出n个模式串,m个文本串。对于每个文本串,求出哪些模式串在这个文本串中出现过。最后求出能够包含模式串的文本串总数。   大致思路:     ac自动机模版的小小变形,要注意字符集是所有128个ASCII码可见字符。这道题用静态字典树的优化效果并不明显。   #include<iostream> #include<cstring> #in ...
暴风雪 评论(0) 有1011人浏览 2012-02-01 02:52

[AC自动机]hdoj 2222:Keywords Search

大致题意:     给出n个模式串(长度不超过50),和一个文本串(长度不超过1000000),求出有多少个模式串在这个文本串中出现过。   大致思路:     标准的AC自动机问题,主要是学习模版,理解自动机的匹配机制。     #include<iostream> #include<cstring> #include<cstdio> # ...
暴风雪 评论(0) 有877人浏览 2012-02-01 00:21

AC自动机(Aho-Corasick automation)

AC自动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法。解决的问题:给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。(也是解决web开发中关键字链接的常用算法:n个关键字,1篇文章,找出关键字在文章出现的位置)思路:在一棵trie树上面做Kmp,每个节点都有个像Kmp一样匹配失败时的指针(失败指针),匹配失 ...
暴风雪 评论(0) 有1582人浏览 2012-01-29 21:05

zoj3190

/* * AC自动机,先对资源串和病毒串构成的字符串集合建立AC自动机,然后在trie树上做BFS求出在安全图上每个资源串 * 到其他资源的最短路径,最后做一遍状态压缩dp即可 */ #include <cstdio> #include <cstring> #include <map> using namespace std; cons ...
goAheadtw 评论(0) 有1323人浏览 2011-11-04 17:34

hdu2825

/* AC自动机,增设虚拟节点,求长度为n的字符串中包含至少k个给出的关键字的字符串的个数,结果模MOD。 增设虚拟节点的目的是为了方便状态转移 */ #include <cstdio> #include <cstring> using namespace std; const int N= 105; //节点个数的最大值 const int S= ...
goAheadtw 评论(0) 有997人浏览 2011-11-04 11:53

杭电 hdu 3065 病毒侵袭持续中

/* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2011 panyanyany All rights reserved. URL : http://acm.hdu.edu. ...
panyanyany 评论(0) 有910人浏览 2011-08-21 16:30

杭电 hdu 2896 病毒侵袭

/* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2011 panyanyany All rights reserved. URL : http://acm.hdu.edu. ...
panyanyany 评论(0) 有1001人浏览 2011-08-19 16:57

杭电 hdu 1277 全文检索

第二次 /* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2011 panyanyany All rights reserved. URL : http://ac ...
panyanyany 评论(0) 有926人浏览 2011-08-19 15:19

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics