洛谷 P3370 模板 字串雜湊

2022-06-21 13:30:10 字數 925 閱讀 8167

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

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

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

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

輸入 #1

5

abcaaaa

abcabcc

12345

輸出 #1
4
對於 \(30\%\) 的資料:\(n\leq 10\),\(m_i≈6\),\(mmax\leq 15\)。

對於 \(70\%\) 的資料:\(n\leq 1000\),\(m_i≈100\),\(mmax\leq 150\)。

對於 \(100\%\) 的資料:\(n\leq 10000\),\(m_i≈1000\),\(mmax\leq 1500\)。

樣例說明:

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

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

bzoj3097:

bzoj3098:

bzoj3099:

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

#include #include #include using namespace std;

typedef unsigned long long ull;

ull base=131, mod=212370440130137957ll, prime=233317;

ull hashe(string s)

洛谷P3370 模板 字串雜湊

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

洛谷P3370 模板 字串雜湊

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

洛谷 P3370 模板 字串雜湊 如題

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