1. 程式人生 > >HAOI2016 找相同字符 後綴自動機

HAOI2016 找相同字符 後綴自動機

url clas ++ class 計算 長度 所有 mat 計數

兩個串,考慮一建一跑。枚舉模式串的位置\(i\),考慮每次統計以\(i\)結尾的所有符合要求的串。在後綴自動機上走時記錄當前匹配長度\(curlen\),則當前節點的貢獻是\((curlen-len[f[o]])*rgtsiz[o]\)。由蛋糕性質,這個結點在parent樹上到根的鏈也要統計答案,其貢獻為\((len[f]-len)*rgtsiz\)。實現方法是每次匹配後節點訪問次數計數器++,最後自下而上計算貢獻。

用廣義後綴自動機也可以做。

HAOI2016 找相同字符 後綴自動機