Trie樹(小)總結 By cellur925

2022-05-10 05:05:14 字數 2031 閱讀 9188

關於\(trie\)樹的詳細介紹,還請移步這篇深度好文

插入

void insert()

}

注意,其中\(tot=0\),我習慣\(p\)初始值也為\(0\)。\(tot\)與\(p\)初值應保持一致。

檢索操作非常靈活,各題不同,但是都很簡單,那麼就自己想吧=w=(不負責地逃離)。

簡單題1:luogu p3879 [tjoi2010]閱讀理解

在每個文章記錄一下出現次數即可。

#include#include#includeusing namespace std;

int n,m,l,p,tot=1;

int trie[500090][26];

bool b[500000][1100];

char word[25];

void insert(char *str,int opt)

endd[p]=1;

if(cnt[p]>1) flag=1;

}int main()

if(flag) printf("no\n");

else printf("yes\n");

memset(endd,0,sizeof(endd));

memset(trie,0,sizeof(trie));

memset(cnt,0,sizeof(cnt));

tot=0;

} return 0;

}

話說做這道題的時候開始用的陣列叫\(end\)然後\(compile\)

\(error\)了...虛的一批。

簡單題3:luogu p2580 於是他錯誤的點名開始了

非常符合字典樹的性質,直接上就行了。

#includeusing namespace std;

int n,m,tot,p;

int flag,end[1000090];

int trie[1000090][27];

char a[100];

void insert(char *str)

edge[200009];

queueq;

void add(int x,int y,int z)

void bfs()

}}int main()

bfs();

scanf("%d",&m);

for(int i=1;i<=m;i++)

return 0;

}

回到我們最開始的問題==!有了前面兩題的基礎,那麼我們在這個問題中要求的答案就等效於簡化問題,只是數列變成了\(d\)。

#include#includeusing namespace std;

int n,tot,ans;

int d[100090],head[100090],trie[100090*32][5];

struct nodeedge[200090];

void add(int x,int y,int z)

void dfs(int u,int fa)

}void insert(int x)

}int ask(int x)

return orz;

}int main()

dfs(1,0);tot=0;

for(int i=1;i<=n;i++) insert(d[i]);

for(int i=1;i<=n;i++) ans=max(ans,ask(d[i]));

printf("%d\n",ans);

return 0;

}

一定要注意\(qwq\)是\(bool\)型別的!這樣保證只有0或1。如果是\(int\)的話,就不保證了!!(\(warning\)

討論下開空間的問題吧!

本蒟蒻幾乎是做一道\(trie\)就\(re\)一次...(逃)

比較玄學...盡量開大一點好(逃)

trie樹學習總結(字典樹模板)

trie樹 演算法簡介 字典樹,也叫trie樹,是一種比較實用的資料結構,無論是在acm競賽的題目中,還是字串相關的某些實際應用領域內,它都能發揮巨大的作用。首先來看看字典樹的本質是什麼。它其實是一棵儲存了很多字串的樹,這棵樹上的每一條邊就是某個或某些字串中的乙個字元,而從根節點到某乙個特定節點所經...

Trie樹(字典樹)

trie樹的核心思想是用空間換時間,通過在樹中儲存字串的公共字首,來達到加速檢索的目的。例如,對於一棵儲存由英文本母組成的字串的trie樹,如下圖 trie樹在實現的時候,可以用左兒子右兄弟的表示方法,也可以在每個節點處開設乙個陣列,如上圖的方法。trie樹的主要操作是插入 查詢,也可以進行刪除。插...

字典樹 Trie樹

字典樹 trie樹 顧名思義是一種樹形結構,屬於雜湊樹的一種。應用於統計 排序 查詢單詞 統計單詞出現的頻率等。它的優點是 利用字串的公共字首來節約儲存空間,最大限度地減少無謂的字串比較,查詢效率比雜湊表高。字典樹的結構特點 根節點不代表任何字元。其他節點從當前節點回溯到根節點可以得到它代表的字串。...