雜湊入門 POJ1200

2021-08-26 05:50:27 字數 716 閱讀 1714

sample input

3 4

daababac

sample output

5

題意:

輸入n和m;

n表示要尋找字串長度,m表示字母種類。

#include

#include

using

namespace

std;

#define maxn 16000005

int num[300];

char s[maxn];

int a[maxn];

int main()

for(i=0;i<=l-n;i++)

}printf("%d\n",ans);

}}

注意:

1.數比較大,所以一定要用雜湊演算法了。

2.memset其實可以省略(貌似因為全域性變數陣列中元素自動變為0)

3.重點為sum=sum*m+num[s[i+j]];(貌似為進製數,m在這裡起到了作用)

4.總結先把各個字母賦值為1,2,3,4 。 然後 把各個長度為n的字串賦值(如abc)利用公式賦予特定的值,最後利用雜湊判斷是否存在。

5. for(i=0;i<=l-n;i++) 為小於等於

瘋狂搜尋( POJ 1200) 雜湊

您的任務是編寫乙個程式,該程式給定子字串的大小n,文字nc中可能出現的不同字元的數目以及文字本身,確定出現在字串中的大小為n的不同子字串的數目。文字。輸入項輸入的第一行由兩個數字n和nc組成,它們之間正好隔開乙個空格。這之後是進行搜尋的文字。您可以假設由可能的字符集形成的最大子字串數不超過1600萬...

字串RK匹配 POJ 1200

轉換為nc進製!複雜度o len include include include include include include include using namespace std define n 16000005 define fre freopen a.txt r stdin char s...

雜湊表入門 雜湊桶簡介

最近在搞通訊協議,感覺要加強一下雜湊表和雜湊桶的學習,把學習的內容通俗的表達出來,也和大家分享一下,讓新入門的童鞋很快理解。我們都學過函式,三要素 自變數x,因變數y,對應關係f。在函式裡x y通過對映關係f一一對應。那什麼是雜湊呢?就是記錄的儲存位置和他的關鍵字之間建立乙個確定的對應關係f,這裡我...