
AC自动机
文章平均质量分 72
Benzema67
北京邮电大学学生
展开
-
hdu 2896
ac自动机模板题#include#include#include#includeconst int kind=100;using namespace std;char b[201],a[10001]; //a模式串,b为匹配串int mark[501];struct trie{ struct trie * fail,*next[kind]; int count;原创 2012-06-30 17:39:12 · 730 阅读 · 0 评论 -
Codeforces 163E && HDU 4117 && Noi2011阿狸的打字机 && boj 1602
http://codeforces.com/problemset/problem/163/Ehttp://acm.hdu.edu.cn/showproblem.php?pid=4117http://61.187.179.132/JudgeOnline/problem.php?id=2434http://n.boj.me/onlinejudge/newoj/showProblem/show_problem.php?problem_id=1602这四道题均为用数据结构维护的AC自动机。基本想法是建好A原创 2013-10-07 14:34:32 · 1872 阅读 · 2 评论 -
ZOJ 2619 && HDU 3058
两道AC自动机+高消的求期望问题先说HDU 3058#include #include #include #include #include #define N 110using namespace std;int next[N][8],flag[N],fail[N],pos,tot,id[N];int n;char s[11];double mat[110][11原创 2013-05-02 11:27:34 · 1765 阅读 · 0 评论 -
HDU 3689, UVA 11468
AC自动机+概率dpHDU 3689#include#include#include#include#includeusing namespace std;int n,nn,m;int ok[200];double pp[200];int next[100][30],fail[100],flag[100],pos;int newnode(){ int i原创 2013-04-29 14:01:45 · 1174 阅读 · 0 评论 -
zoj 3494
数位dp+ac自动机#include #include #include #include #define mod 1000000009#define N 2010typedef long long ll;using namespace std;char s[210];int next[N][2],nextd[N][10],pos,flag[N],fail[N];ll dp原创 2013-04-28 17:33:25 · 1263 阅读 · 0 评论 -
BOJ 652
数位dp+AC自动机#include #include #include #include typedef long long ll;using namespace std;ll l,r;char a[20],b[20];int aa[20];int next[100][10],pos,fail[100];bool ok[100];void insert(char原创 2013-03-19 23:50:31 · 1094 阅读 · 0 评论 -
HDU 4534
AC自动机水题,想清楚状态表示即可。我一开始多设计一维状态记录之前用了多少个删除操作,MLE,其实这个状态不需要记录的,作为一个待求最值的变量。#include #include #include #include #define N 1700using namespace std;const int INF=-((~(0U))>>1);char s[110];int原创 2013-04-25 00:23:07 · 1075 阅读 · 0 评论 -
hdu 2222
AC自动机模板 #include#include#include#includeconst int kind=26;using namespace std;char b[51],a[1000001]; //a模式串,b为匹配串struct trie{ struct trie * fail,*next[kind]; int count; trie(){ fa原创 2012-06-30 16:01:40 · 715 阅读 · 0 评论 -
POJ 4052
真心觉得trie图数组形式的好优越,原来指针版本的太搓了(TLE)下面是TLE的程序#include#include#include#includeusing namespace std;int n;char str[52000010],str1[50120010];char s[2600][1200];bool flag[2600],ok[2600];struct原创 2012-10-19 22:23:21 · 1166 阅读 · 0 评论 -
hdu 4057
AC自动机+dp#include#include#include#include#include#define N 1500using namespace std;int ok[200];char s[110];int n,m;int next[N][4],fail[N],flag[N],val[20],pos;int newnode(){ int i=0;原创 2012-10-05 12:51:52 · 954 阅读 · 0 评论 -
HDU 3247
AC自动机先预处理所有可以作为合法单词结尾的点之间的距离,然后在这些点之间状态DP即可#include #include #define INF 0x3f3f3f3f#define MAXN 60005char s[1002];int n,m;int next[MAXN][2],fail[MAXN],flag[MAXN],pos;int newnode(){ next原创 2012-08-28 14:55:05 · 1158 阅读 · 0 评论 -
TC SRM 519 600pt
自动机的DP#include#include#include#define MAXN 305#define ALP 26#define MOD 1000000009typedef long long ll;using namespace std;int n,m,k;char s[52];int next[MAXN][ALP],fail[MAXN],flag[MAXN原创 2012-08-25 19:25:31 · 754 阅读 · 0 评论 -
POJ 1204
这个题查询的两个串有可能有公共前缀trie树做法#include#include#include#includeconst int kind=26;using namespace std;char s[1010][1010];int h[]={-1,-1,0,1,1,1,0,-1};int g[]={0,1,1,1,0,-1,-1,-1};int m,n,q,原创 2012-07-16 16:11:58 · 1213 阅读 · 0 评论 -
zoj 3430
这个题解码部分比较繁琐,剩下就是裸AC自动机了。代码能力不强竟然调试了一天。。。。#include#include#include#includeconst int kind=256;using namespace std;char b[3000]; //a模式串,b为匹配串bool vis[550];int bb[3000];int mp[200];int le原创 2012-07-03 00:53:44 · 1216 阅读 · 0 评论 -
hdu 3065
hdu很坑啊,题目没有说多组数据WA死了!!#include#include#include#includeconst int kind=26;using namespace std;char b[1001][51],a[2000001]; //a模式串,b为匹配串int mark[1001];struct trie{ struct trie * fail,*next[原创 2012-06-30 18:45:35 · 1091 阅读 · 0 评论 -
AC自动机通配符匹配
在计算机(软件)技术中,通配符可用于代替字符。 通常地,星号“*”匹配0个或以上的字符,问号“?”匹配1个字符。(wiki百科)今天做Leetcode上的一道题时不会做,网上查到了这么一种做法,当年打比赛的时候都没有碰到过。。。。Leetcode Wildcard Matching递归做法TLEclass Solution {public: bool isMa原创 2014-01-20 20:48:32 · 3867 阅读 · 0 评论