活动地址:CSDN21天学习挑战赛
AC自动机https://www.bilibili.com/video/BV1tF41157Dy?spm_id_from=333.999.0.0&vd_source=91973ada1213cf6ba2cbb43a2bebd2e8
经典问题题意:给定n个模式串和一个主串,查找有多少个模式串再主串中出现过
int ch[N][26],cnt[N],idx;
int ne[N];
void ins(char *s)
{
int p=0;
for(int i=0;s[i];i++)
{
int j=s[i]-'a';
if(!ch[p][j]) ch[p][j]=++idx;
p=ch[p][j];
}
cnt[p]++;
}
void build()
{
queueq;
for(int i=0;i
关注
打赏