国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

CF競賽題目講解_CF149E(正序后綴自動機(jī)+反序后綴自動機(jī))

2022-09-30 18:25 作者:Clayton_Zhou  | 我要投稿

https://codeforces.com/problemset/problem/149/E

題意:

已知一個長字符串S和一組詢問字符串,對于每個詢問需要知道在S中是否存在兩個位置不同的子串可以組成該詢問字符串。

題解:

正串后綴自動機(jī)樹 + 反串后綴自動機(jī)樹

考慮對 字符串S 的正串和反串分別建后綴自動機(jī)樹.


將 詢問字符串p 的正串在正串的 SAM 上去匹配,一直匹配到匹配不了為止,并記錄 p[i] 在正串自動機(jī)節(jié)點(diǎn)上 endpos 的最小值 a[i],即p[i]在S中的位置.

對 p 的反串也進(jìn)行相同的處理,記錄endpos 的最大值 b[i],即p[i]在S中的位置.

我們只需枚舉 1至length(p) 并判斷 a[i] && b[i+1] && a[i]<b[i+1]? 即可.

如果滿足這個條件,就說明這個詢問是有解的.


要注意判斷一下長度為 1 的情況,這顯然是無解的.


CF競賽題目講解_CF149E(正序后綴自動機(jī)+反序后綴自動機(jī))的評論 (共 條)

分享到微博請遵守國家法律
揭东县| 崇文区| 类乌齐县| 民权县| 收藏| 云和县| 德阳市| 集安市| 东至县| 什邡市| 五常市| 衡南县| 黄龙县| 翼城县| 大余县| 西林县| 安多县| 英吉沙县| 鄂尔多斯市| 凉山| 故城县| 铜陵市| 资兴市| 泸溪县| 永福县| 开江县| 道孚县| 嵩明县| 望谟县| 德昌县| 大新县| 宜阳县| 富阳市| 勃利县| 定州市| 石河子市| 前郭尔| 临泽县| 田东县| 崇义县| 武夷山市|