HDU1251 字典樹模板題,陣列版和指標版

2021-08-14 22:40:28 字數 1220 閱讀 1729

題意:

中問題。

題解:

字典樹的模板題,我是看這位大佬學習的字典樹:

字典樹的最大時間複雜度為o(n),n代表字串的長度。

這道題主要用來練練手,看看模板是否有問題,這道題我分別寫了陣列版的和指標版的,神奇的是指標版的在g++會超記憶體,而c++過了。。。不知道**有問題,求大佬講解一下,不甚感激。

陣列版

//陣列版

#include

#include

#include

using

namespace

std;

const

int maxn=500000+7;

int trie[maxn][26];

int vis[maxn];

int tot=1;

void insert(char *s)

rt=trie[rt][x];

vis[rt]++;

}}int find(char *s)

return vis[rt];

}int main()

}

指標版

//指標版

#include

#include

#include

using namespace std;

struct node

*root;

node *build()

void insert(char *s) }

int find(char *s)

return r->cnt;

}int main()

while(~scanf("%s",s))

}//這道題的指標版要用c++才能過。。。。不知道為什麼。。

還有乙個指標版

//另外乙個指標版

#include

#include

#include

using

namespace

std;

struct node

}*root;

void insert(char *s) }

int find(char *s)

return r->cnt;

}int main()

while(~scanf("%s",s))

}

HDU1251字典樹模板

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

HDU1251 字典樹板子題

題意 中文題,統計以某字串作為字首的字串個數 剛學字典樹,理解起來十分簡單,就是維護乙個多叉樹,這裡用的是鍊錶版本,後面就用的是陣列版本了,個人更喜歡陣列版本,這裡的鍊錶版本就因為 莫名其妙的錯誤 c 能過而g 就會mle 可能是兩者管理記憶體的方式不一樣吧 1 include2 include3 ...

hdu 1251 字典樹入門

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