題目鏈結
【題目描述】
ignatius最近遇到乙個難題,老師交給他很多單詞(只有小寫字母組成,不會有重複的單詞出現),現在老師要他統計出以某個字串為字首的單詞數量(單詞本身也是自己的字首).
輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師交給ignatius統計的單詞,乙個空行代表單詞表的結束.第二部分是一連串的提問,每行乙個提問,每個提問都是乙個字串.
注意:本題只有一組測試資料,處理到檔案結束.
對於每個提問,給出以該字串為字首的單詞的數量.
【樣例輸入】
banana
band
bee
absolute
acmba
b band
abc【樣例輸出】
2 3 1 0
【思路】
模板題,構造一顆trie樹儲存所有字串,並記錄字首數量
//二維陣列表示trie,速度更快,記憶體更優
#include
using namespace std;
const
int maxn=1000050;
char s[maxn];
int trie[maxn][26],tot;
int cnt[maxn];
void insert()
}int query()
return cnt[node];
}int main()
while(gets(s))
return
0;}
//指標寫法,g++會爆記憶體,c++能過
#include
#include
using
namespace
std;
char s[15];
struct node
}trie;
void insert()
}int query()
return p->cnt;
}int main()
while(gets(s))
return
0;}
HDU 1251統計難題(字典樹)
經典的字典樹題目。字典樹 又稱單詞查詢樹,trie樹,是一種樹形結構,是一種雜湊樹的變種。典型應用是用於統計,排序和儲存大量的字串 但不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是 利用字串的公共字首來節約儲存空間,最大限度地減少無謂的字串比較,查詢效率比雜湊表高。ac code ...
HDU1251統計難題 字典樹
題目 problem description ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的...
hdu 1251 統計難題 字典樹
problem description ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師...