文章分类 - 字符串、KMP、RK、BM、Sunday、AC自动机、后缀数组
1
摘要:很郁闷啊,太笨了。。。#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ #ifndef ONLINE_JUDGE freopen("indata.txt", "r", stdin); #endif int n; while(scanf("%d", &n) != EOF)...
阅读全文
摘要:这题我不释放trie的空间,结果MLE了一次。。。#include <stdio.h>#include <string.h>#define MAXKIND 129#define MAXN 1005#define MAXLEN1 55#define MAXLEN 2000005#define MAXQSIZE 500005typedef struct TNode{ TNode...
阅读全文
摘要:#include <stdio.h>#include <string.h>#define MAXKIND 129#define MAXN 505#define MAXLEN 10005#define MAXQSIZE 500005typedef struct TNode{ TNode() { id=-1; fail=NULL; memset(next,0,sizeof(ne...
阅读全文
摘要:AC自动机模板。。。#include <stdio.h>#include <string.h>#define MAXKLEN 55#define MAXDLEN 1000005#define MAXQSIZE 500005typedef struct TNode{ TNode() { count=0; fail=NULL; memset(next,NULL,sizeof(n...
阅读全文
摘要:KMP算法字符串匹配算法:KMP学习心得http://www.slyar.com/blog/kmp.html手算KMP匹配的Next值和Nextval值http://www.slyar.com/blog/kmp-next-nextval.html字符匹配 真正理解KMP算法的力量 ( 修正)http://blog.csdn.net/arena_zp/archive/2007/06/05/16384...
阅读全文
摘要:转自 http://blog.csdn.net/touzani/archive/2007/05/30/1632149.aspx字符串匹配(String matching)问题的形式定义: 假设文本(Text)是一个长度为n的数组T[1…n], 模式(Pattern)是一个长度为m≤n.的数组P[1..m];. 又假设P和T中的元素都属于有限字母表Σ中的字符。P和T常...
阅读全文
摘要:#include <stdio.h>#include <string.h>#define MAXLEN 16000005char str[MAXLEN];int alpha[26];bool exist[MAXLEN];int main(){ int T,n,cas,nc,len,i,j,p; scanf("%d",&T); for(cas=0; cas<T;...
阅读全文
摘要:#include <stdio.h>#include <string.h>#define MAXN 1005char str[MAXN],pat[MAXN];int nextval[MAXN];void getNextval(int len){ int j=0,k=-1; nextval[0]=-1; while(j<len) { if(k==-1 || pat[j]...
阅读全文
摘要:和3080几乎一样#include <stdio.h>#include <string.h>#define MAXN 4002#define MAXLEN 205char ans[MAXLEN],shot[MAXLEN],in[MAXN][MAXLEN];inline void solve(char *stry,int n){ int i; for(i=1; i<n;...
阅读全文
摘要:#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXN 102#define MAXLEN 205char in[MAXN][MAXLEN],tmp[MAXLEN],shot[MAXLEN];inline bool solve(int n,char *pat){ int i,j,t...
阅读全文
摘要:方法1,KMP 16MS#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXN 62#define MAXM 12char ans[MAXN],shot[MAXN],in[MAXM][MAXN];int nextval[MAXN];void getNextval(char *pat...
阅读全文
摘要:#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXT 1000005#define MAXW 10005char str[MAXT],pat[MAXW];int next[MAXW];void getNext(int len){ int j=0,k=-1; next[0]=-1;...
阅读全文
摘要:http://acm.fzu.edu.cn/problem.php?pid=1481就是要匹配出模式串。#include <stdio.h>#include <string.h>#define MAXLEN 205*3char str[MAXLEN],pat[MAXLEN],t[MAXLEN];int nextval[MAXLEN];void getNextval(int ...
阅读全文
摘要:方法1,31MS#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXLEN 200005#define MOD 10007char str[MAXLEN];int idx[MAXLEN];int main(){ int T,len,i,j,k,g; scanf("%d",&...
阅读全文
摘要:#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXN 400005char name[MAXN];int next[MAXN];bool first;void getNext(int len){ int j=0,k=-1; next[0]=-1; while(j<len) ...
阅读全文
摘要:http://acm.fzu.edu.cn/problem.php?pid=1901#include <stdio.h>#include <string.h>#define MAXN 1000005char str[MAXN];int next[MAXN],ans[MAXN];void getNext(int len){ int j=0,k=-1; next[0]=-1; ...
阅读全文
摘要://188MS#include <stdio.h>#define MAXN 1000005char str[MAXN];int next[MAXN];void getNext(int len){ int j=0,k=-1; next[0]=-1; while(j<len) { if( k == -1 || str[j] == str[k] ) { ++j; ++k; next[j...
阅读全文
摘要:#include <stdio.h>#include <string.h>#define MAXN 1000005char str[MAXN];int next[MAXN];void getNext(int len){ int j=0,k=-1; next[0]=-1; while(j<len) { if( k == -1 || str[j] == str[k] ) ...
阅读全文
摘要:#include <stdio.h>#include <string.h>#define MAXN 1000005#define MAXM 10005int a[MAXN],b[MAXM],next[MAXM];void getNext(int len){ int j=0,k=-1; next[0]=-1; while(j < len) { if( k == -1 |...
阅读全文
摘要:#include <stdio.h>#include <string.h>#define MAXN 100005char str1[MAXN],str2[MAXN];int next[MAXN];void getNext(char *s,int len){ int j=0,k=-1; next[0]=-1; while( j < len ) { if(k == -1 ...
阅读全文
1
浙公网安备 33010602011771号