洛谷P3808 模板 AC自動機(簡單版)

2021-09-10 15:05:34 字數 743 閱讀 2966

給定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...