解題思路:
字典樹的典型應用——插入,查詢。
1.插入時候,不是字母結束時將head->count++,而是遇到字母:
沒出現過:初始化1,表明此次出現
出現過:count++
這樣,head->count記錄的就是從根結點到head結點的字首出現的次數。
2.查詢
返回單詞結尾字母的count就是字首出現的次數。
**如下:
#include#include#includeusing namespace std; struct dictree //結點內容 *a; //a為根結點,不存資訊,是字典樹的入口 void init() //初始化,不能忘。。。。 void insert(char str) //插入 else //存在 } } int search(char str) //查詢 return head->count; //字首出現次數 } int main() return 0; }
統計難題 hdu1251
昨天在小策策 和 小超人的指導下學習了下字典樹,於是今天寫了下這個很早就想學的演算法 寫的很醜,而且還看了下課件的 include 2497868 2010 05 28 21 25 42 accepted 1251 93ms 43784k 1152 b c 悔惜晟 include include u...
HDU 1251 統計難題
problem description ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師...
hdu 1251統計難題
字典樹模版題 動態實現 include include include define maxn 26 struct node root void insert char str else int find char str return current count int main 靜態實現 inc...