五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ī))的評論 (共 條)

分享到微博請遵守國家法律
襄城县| 朝阳区| 兴义市| 鸡东县| 开远市| 绥芬河市| 兴义市| 乐安县| 昭通市| 长寿区| 石首市| 阜南县| 宜黄县| 韩城市| 鸡泽县| 凤台县| 偃师市| 阳高县| 绍兴市| 沂水县| 五原县| 牡丹江市| 五指山市| 丽水市| 苍南县| 綦江县| 芜湖县| 界首市| 石首市| 勐海县| 达孜县| 西昌市| 吕梁市| 黔南| 喀什市| 富平县| 翼城县| 清水河县| 疏附县| 沅江市| 嘉黎县|