#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...