luogu P3370 模板 字串雜湊

2022-02-27 21:43:00 字數 1203 閱讀 5637

如題,給定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個不同的字串。

tip: 感興趣的話,你們可以先看一看以下三題:

bzoj3097:

bzoj3098:

bzoj3099:

如果你仔細研究過了(或者至少仔細看過ac人數的話),我想你一定會明白字串雜湊的正確姿勢的^_^

非洲人終於也會hash了!!!

#include#include

#include

#include

using

namespace

std;

typedef unsigned

long

long

ull;

ull

base = 131

;char s[100000

];ull a[

100000

];ull hashs(

char *s)

intmain()

sort(a+1,a+n+1

);

int ans=0

;

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

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

printf(

"%d\n

",++ans);

return0;

}

P3370 模板 字串雜湊

題目描述 如題,給定n個字串 第i個字串長度為mi,字串內包含數字 大小寫字母,大小寫敏感 請求出n個字串中共有多少個不同的字串。接下來n行每行包含乙個字串,為所提供的字串。輸出格式 輸出包含一行,包含乙個整數,為不同的字串個數。輸入輸出樣例 輸入樣例 1 5abc aaaa abcabcc 123...

P3370 模板 字串雜湊

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

P3370 模板 字串雜湊

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