學習1:小蒟蒻yyb的部落格
學習2:大佬的板子
ac自動機:求多個模式串在文字串**現的次數
;//trie樹 根節點為0
int cnt =0;
//編號
void
clear
(int x)
void
build
(string s)
now = ac[now]
.vis[s[i]
-'a'];
} ac[now]
.end++
;//標記單詞結尾
} queue<
int> q;
void
get_fail()
}while
(!q.
empty()
)else}}
}int
ac_query
(string s)
}return ans;
}void
init()
}using
namespace ac;
string s;
intmain()
get_fail()
;//求出失配指標
cin >> s;
cout <<
ac_query
(s)<< endl;
return0;
}
P3808 模板 AC自動機(簡單版)
這是一道簡單的ac自動機模板題。用於檢測正確性以及演算法常數。為了防止卡oj,在保證正確的基礎上只有兩組資料,請不要惡意提交。給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。輸入格式 第一行乙個n,表示模式串個數 下面n行每行乙個模式串 下面一行乙個文字串。輸出格式 乙個數表示答案 輸...
P3808 模板 AC自動機(簡單版)
題意 給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。思路 建完tire,fail之後,開始跑自動機,然後對於走過的點,給乙個標記,防止多次計算即可 為啥呢,因為求得是有多少模式串在文字串出現過,而不是出現次數 1 include2 using namespace std 3const...
P3808 模板 AC自動機(簡單版)
給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。第一行乙個n,表示模式串個數 下面n行每行乙個模式串 下面一行乙個文字串。乙個數表示答案 2aaa aa2subtask1 50pts length 模式串 106,length 文字串 106,n 1 subtask2 50pts le...