CF競賽題目講解_CF235C(后綴自動機樹+循環(huán)查找子串)
2022-10-02 12:37 作者:Clayton_Zhou | 我要投稿
https://codeforces.com/problemset/problem/235/C
題意:
已知一個文本串s。詢問n個匹配的本質(zhì)不同的循環(huán)同構(gòu)在文本串s中出現(xiàn)了幾次。
題解:
我們匹配完原串之后, 在頭部刪去一個字符然后又在末尾加上一個字符繼續(xù)匹配。
使用SAM匹配的話,發(fā)現(xiàn)每次在parents樹上向上移動節(jié)點相當(dāng)于刪去頭部的字符,
?在parents樹上一直向上移動,使得節(jié)點長度剛好大于匹配串的長度。?
要求本質(zhì)不同的話,就直接在統(tǒng)計過答案的點打上標(biāo)記,后面不統(tǒng)計即可。
標(biāo)簽: