給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。
輸入格式:
第一行乙個n,表示模式串個數;
下面n行每行乙個模式串;
下面一行乙個文字串。
輸出格式:
乙個數表示答案
#include using namespace std;
int const n = 1000005;
int const m = 1000005;
struct node
}*q[m],*root;
void insert(char *s)
now->cnt++;
}void get_fail()
p = p->fail;
}if(p == null) tmp->next[i]->fail = root;
}q[head++] = tmp->next[i];
} }}int match(char *str)else break;
tmp = tmp->fail;
} }return ans;
}int main()
char str[n];
scanf(" %s",str);
get_fail();
printf("%d\n",match(str));
return 0;
}
AC自動機入門,洛谷P3808
給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。輸入輸出格式 輸入格式 第一行乙個n,表示模式串個數 下面n行每行乙個模式串 下面一行乙個文字串。輸出格式 乙個數表示答案 輸入輸出樣例 輸入樣例 1 2aaa aa輸出樣例 1 兩個會出現在模板題面裡的詞語 文字串和模式串 給你幾個單詞...
洛谷P3808 模板 AC自動機(簡單版)
這是一道簡單的ac自動機模板題。用於檢測正確性以及演算法常數。為了防止卡oj,在保證正確的基礎上只有兩組資料,請不要惡意提交。給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。輸入格式 第一行乙個n,表示模式串個數 下面n行每行乙個模式串 下面一行乙個文字串。輸出格式 乙個數表示答案 輸...
洛谷P3808 模板 AC自動機(簡單版)
給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。subtask1 50pts length 模式串 106 10 6 106,length 文字串 106 10 6 106,n 1 subtask2 50pts length 模式串 106 10 6 106,length 文字串 10...