前言
反正因為一些tuosh事情,我必須得兩小時學會它們。
我服了。
後期可能會再學,但是這個標題不準備更改了。
來吧!參考資料
hihocoder 例題
1. suffix
把乙個字串後面加上乙個符號 # ,將其所有字尾取出來,其中suffix[i]表示從第i個字元開始的字尾。
2. sa(字尾陣列)
把suffix按字典序排好序,sa[i]表示排名第 i 小的字尾索引是幾。
3. rank
suffix排序之後的名次,rank[i]表示suffix[i]是排名第幾小的。
4. height
height[i]表示suffix[sa[i-1]]和suffix[sa[i]](即排名相鄰的兩個字尾)的最長公共字首長度。
以banana為例:
isuffix
sarank
1banana#75
2anana#64
3nana#47
4ana#23
5na#16
6a#52
7#31
isasuffix[sa]
height17
#026
a#034
ana#14
2anana#35
1banana#06
5na#07
3nana#
2hihocoder1403 最長可重疊重複k次子串
求最長的、可重疊的、重複出現了至少k次的子串。
最長重複子串 = 兩個suffix的最長公共字首
求height 陣列中最大的(長度為 k的子串行的最小值)。
可以使用二分或者單調佇列去做。
hihocoder1403 最長不可重疊重複k次子串
求最長的、可重疊的、重複出現了至少k次的子串。
最長重複子串 = 兩個suffix的最長公共字首
求height 陣列中最大的(長度為 k的子串行的最小值)。
可以使用二分或者單調佇列去做。
我放棄了
人生一小時
桌面,侵刪 今天不小心開啟部落格,發現乙個有意思的事情,我已經大半年沒有寫過部落格了!現在看看我之前寫的習慣清單 堅持寫部落格,真是汗顏啊。這半年來工作也不是很忙,平常也不知道幹些啥,日子一天天就過去了,感覺時間真的在變快啊,不知道大家是不是也是跟我一樣的感覺,這難道就是生活 生下來,活下去 看看鏡...
openMP一小時初探
參考 通過 gcc 學習 openmp 框架 詳細,我只看到臨界區之前 openmp基本概念 全看,內含並行化控制的三種程式設計要素 編譯制導 api函式集和環境變數 openmp入門教程 一 也講了fork join執行模型 執行緒概念 資料作用域.我主要跟著第一篇教程看了部分內容,後面兩篇當作補...
一小時學會C 6
c 6之前我們拼接字串時需要這樣 var name jack var results hello name 或者 var name jack var results string.format hello name 但是c 6裡我們就可以使用新的字串插值特性 var name jack var re...