Hash求LCP最長公共字首

2021-09-05 16:26:32 字數 769 閱讀 2563

#include#includeusing namespace std;

typedef unsigned long long ull;

const int maxl=40000,base=233333333; //base亂取(反正看rp)

int m,len,where,id[maxl+5];

char s[maxl+5];

ull h[maxl+5],pw[maxl+5],ha[maxl+5]; //存在unsigned long long裡,自然溢位

bool eoln(char ch)

int readi(int &x)

i=j;

}return where!=-1; //掃到答案

}int main()

if (r==0) printf("none\n"); else check(r),printf("%d %d\n",r,where);

}return 0;

}【hash求lcp最長公共字首】

hdu4080題意:

給出乙個m,然後給出乙個字串,輸出在這個字串裡出現》=m次的子串的最大長度和最後出現的位置,如果沒有,輸出none。

sample input

3baaaababababbababbab

11baaaababababbababbab

3cccccc

0sample output

5 12

none

4 2

字尾陣列 LCP(最長公共字首)

sa sa陣列儲存的是乙個1 n的全排列,儲存的是 將所有字尾按字典序排序後,串在原串中的位置。即有suffix sa i suffix sa i 1 rank rank陣列儲存的是 suffix i 在所有字尾中按字典序排序的 名次 總結 字尾陣列是 排第幾的是誰?名次陣列是 你排第幾?lcp i...

最長公共字首

描述 給k個字串,求出他們的最長公共字首 lcp 樣例 在 abcd abef 和 acef 中,lcp 為 a 在 abcdefg abcefg abcefa 中,lcp 為 abc 新知識點 vectorstrs既可以是一維的,也可以是多維的。在這裡講解三維的初始化。vector str str...

最長公共字首

編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母a z。class solution object...