1. 程式人生 > >SA 例題泛做 解題報告

SA 例題泛做 解題報告

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 例題泛做 解題報告