最近两天都在做AC自动机,刚好数据结构实验可以用,比KMP算法好的地方是文章只要扫描一遍,大大节省了时间,但同时占的内存变大了,简单地说就是,空间换时间。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <malloc.h>
#include <queue>
using namespace std;
#define M 25
#define N 10
#define maxn 225
int num[1050];
int row[N][1000]; //存储行号
struct Trie
{
Trie *fail,*next[130];
int last;
Trie()
{
for(int i=0;i<130;i++)
next[i]=NULL;
fail=NULL;
last=-1;
}
}*root;
void inserttrie(char<