統計難題(字典樹模板)

2022-03-14 12:22:23 字數 901 閱讀 9541

題目描述:

ignatius最近遇到乙個難題,老師交給他很多單詞(只有小寫字母組成,不會有重複的單詞出現),現在老師要他統計出以某個字串為字首的單詞數量(單詞本身也是自己的字首).

輸入描述:

輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師交給ignatius統計的單詞,乙個空行代表單詞表的結束.第二部分是一連串的提問,每行乙個提問,每個提問都是乙個字串.

注意:本題只有一組測試資料,處理到檔案結束.

輸出描述:

對於每個提問,給出以該字串為字首的單詞的數量.

樣例輸入:

banana

band

bee

absolute

acmba

b band

abc

樣例輸出:

2 3 1 0

#include#include#includeusing namespace std;

const

int maxn=3000000;

struct node

tree[maxn];

intlen,tot;

char s[11];

void build_tree(int l)

tree[now].sum++;

}}int find(int l)

else return 0;

}return tree[now].sum;

}int main()

while(gets(s))

統計難題(字典樹模板)

個人心得 先來了解下字典樹的概念吧。trie樹,即字典樹,又稱單詞查詢樹或鍵樹,是一種樹形結構,是一種雜湊樹的變種。典型應用是用於統計和排序大量的字串 但不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是 最大限度地減少無謂的字串比較,查詢效率比雜湊表高。trie的核心思想是空間換時間...

統計難題(字典樹模板題)

ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 這個題意還是很好理解的,輸入方面稍微有一點點坑,但是習慣就好 判斷讀入的是不是一串空得字串,可以用gets 函式去實現,可以通過讀入的字...

統計難題(字典樹)

description ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師交給ignati...