HDU1251 統計難題

2021-07-16 10:29:03 字數 716 閱讀 8904

一. 原題鏈結

二. 題目大意:給若干個單詞,做為字典。再給出若干字首,問每個字首分別在字典的單詞中出現多少次。

三. 思路:字典樹模板題。所謂字典樹,按本題來說,

1.首先有乙個沒有存資訊的root,每個節點有26(字符集個數)個兒子。

2.插入操作:給乙個單詞,從第乙個字元開始,依次從根節點開始,如果不存在此字元,新建乙個新節點,否則,節點的計數域加1,迴圈一直到單詞最後乙個字元。

3.查詢操作:給乙個字首,從第乙個字元開始,依次從根節點開始,如果不存在,返回0,否則,查詢完畢返回計數域中的數。

四.**:

#include #include using namespace std;

const int max_n = 26;

const int inf = 0x3f3f3f3f;

struct node

heap[500000], root;

int top;

node *newnode()

void addnode(char *str)

else

}}int find(char *str)

return p->cnt;

}int main()

統計難題 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...