洛谷 P3370 模板 字串雜湊 如題

2022-05-18 22:09:35 字數 1133 閱讀 9815

如題,給定n個字串(第i個字串長度為mi,字串內包含數字、大小寫字母,大小寫敏感),請求出n個字串中共有多少個不同的字串。

輸入格式:

第一行包含乙個整數n,為字串的個數。

接下來n行每行包含乙個字串,為所提供的字串。

輸出格式:

輸出包含一行,包含乙個整數,為不同的字串個數。

輸入樣例#1:

5

abcaaaa

abcabcc

12345

輸出樣例#1:

4
時空限制:1000ms,128m

資料規模:

對於30%的資料:n<=10,mi≈6,mmax<=15;

對於70%的資料:n<=1000,mi≈100,mmax<=150

對於100%的資料:n<=10000,mi≈1000,mmax<=1500

樣例說明:

樣例中第乙個字串(abc)和第三個字串(abc)是一樣的,所以所提供字串的集合為,故共計4個不同的字串。

這道題 字串雜湊模版題,詳細看**:

1 #include2 #include

3 #include4

#define maxn 23333

5int

n,cnt;

6char

a[maxn];

7int

ans[maxn];

8 unsigned int strhash(char*);

9int

main()

16 std::sort(ans+1,ans+1+n);

17for(int i=2;i<=n;i++) //

排序後判重

18if(ans[i]!=ans[i-1]) cnt++;

19 printf("

%d\n

",cnt+1

);20

return0;

21}22 unsigned int strhash(char *str)

28return hash;//

因為返回值為unsigned int型別,所以讓它自然溢位,不用再取模

29 }

字串雜湊

洛谷P3370 模板 字串雜湊

rt.雜湊,用於處理一些大值統計方面問題,它的下位是堆排?c,不存在下位的 當數值特別大的時候,堆的陣列就會炸掉。於是雜湊將這些特別大的數除上乙個質數,得到乙個位置存這個特別大的數。然後就正常用,每次就找到這個得出的位置 由於除的是質數,所以一般情況,不同的數得到的位置是不會衝突的。如果衝突了,那麼...

洛谷P3370 模板 字串雜湊

傳送門 如題,給定 n nn 個字串 第 i ii 個字串長度為 m im i mi 字串內包含數字 大小寫字母,大小寫敏感 請求出 nn 個字串中共有多少個不同的字串。輸入格式 第一行包含乙個整數 n nn,為字串的個數。接下來 n nn 行每行包含乙個字串,為所提供的字串。輸出格式 輸出包含一行...

洛谷 P3370 模板 字串雜湊

如題,給定 n 個字串 第 i 個字串長度為 m i 字串內包含數字 大小寫字母,大小寫敏感 請求出 n 個字串中共有多少個不同的字串。第一行包含乙個整數 n 為字串的個數。接下來 n 行每行包含乙個字串,為所提供的字串。輸出包含一行,包含乙個整數,為不同的字串個數。輸入 15 abcaaaa ab...