今天看ac自動機,看得迷迷糊糊,看起來就是字典樹+kmp。字典樹還好說,當時kmp有點沒看懂,又看了一下,這次kmp倒是懂了,ac自動機還是有點沒看懂。
照著部落格上的模板試著敲了一遍。構造next陣列那裡還是有點看不懂。還得繼續看。
#includeusing namespace std;
const int maxnode=11000;
const int sigma_size=26;
struct ac_auto
int idx(char ch)
void insert(char *s,int v)//v非0表示乙個單詞末尾
}void find(char *s)
~node()
}*q[maxn/2];
void insert(char *str, node *root)//模式串插入 構建字典樹
p -> count ++; //在單詞的最後乙個結點count + 1,代表乙個單詞
}void build_ac_automation(node *root)//構建fail指標 基於bfs實現
else
p = p -> fail;
}if(p == null)
temp -> next[i] -> fail = root;
}q[tail ++] = temp -> next[i];}}
}}//利用fail指標進行匹配
int query(char *str, node *root)//目標串匹配
i ++;
}return cnt;
}int main()
build_ac_automation(root);
scanf("%s", str);
printf("%d\n", query(str, root));
}return(0);
}
原創 1 29總結
下圖就是乙個html的乙個簡單例項 宣告有助於瀏覽器中正確顯示網頁 宣告不區分大小寫,圖為html 5 宣告 html 元素是 html 頁面的根元素 head 元素包含了文件的元 meta 資料,如 meta charset utf 8 定義網頁編碼格式為 utf 8。title 元素描述了文件的...
SICP 習題 (1 29)解題總結
sicp 習題 1.29 要求辛普森規則求函式f在範圍a 和 b之間的定積分的近似值。在經過前面習題的磨練之後,我對這種充滿數學定義的題目已經麻木了,覺得自己能完成題目就行,有些時候不需要去理會哪些折磨人的數學定義,比如什麼函式的定積分,更不用說什麼辛普森規則。其實sicp在1.3.1這節主要講的是...
暑假訓練總結 SSL暑假訓練總結
第一周過的還算好吧,覺得飯堂伙食也挺好的,同學也挺好。學習的東西感覺比小學難好多,有種覺得以前學的東西太簡單了的感覺,但多虧了小學的時候基礎打得還算紮實,學得還行,但總是感覺自己就是個菜雞,就是乙個蒟蒻,哎,室友真的太強了。第一周總結 第二週自我感覺挺不錯的,總算追上了部分室友,成績也開始 這一切都...