SA 例題泛做 解題報告
阿新 • • 發佈:2018-05-20
poj 重復 orm sig san IT das ural ref
5月18日下午聽了xMinh老師的講課,作為一個認真聽課的好學生,當然要做解題報告了。——題記
Poj 1743 Musical Theme
題目大意:給出 n 個數組成的串,求是否有多個“相似”且不重疊的子串的長度大於等於 5,兩個子串相似當且僅當長度相等且每一位的數字差都相等。
解題報告:差分,二分長度 k,掃描 hight 數組,若出現兩個後綴的 LCP 長度 >= k 且 sa >= k,return true。
Poj 3261 Milk Patterns
題目大意:給定一個長度為 n 的整數序列,求其中至少出現 m 次的最長子串長度。
解題報告:二分長度 k,掃描 hight 判斷某一組裏是否出現了至少 m 次。
Poj 3294 Life Forms
題目大意:給定 n 個字符串,求出現在不小於 m 個字符串中的最長子串。
解題報告:多串加分隔符合並,二分長度 k,分組判斷不同的串個數是否有 m 個。
Poj 2774 Long Long Message
題目大意:給出兩個字符串,求最長公共子串的長度。
解題報告:Sandy的卡片弱化版,加分隔符合並,二分長度 k,判斷 hight 同一組裏是否出現了兩個串。
SPOJ694 SPOJ705 Distinct Substrings
題目大意:給出一個字符串,求不相同的子串個數。
解題報告:一共有(n+1)* n / 2 個子串,減掉和上一個重復的 height[ i ] 個就行了。答案為 n * ( n+1 ) / 2 - Σheight[ i ]。
Ural 1297 Palindrome
題目大意:給出一個字符串,求最長回文子串。
解題報告:把原串反轉之後接在原串後面,中間加分隔符,求特定兩個位置的LCP,要註意分奇偶兩種情況。
SA 例題泛做 解題報告