Trie树模板
来源:互联网 发布:姚明生涯得分数据统计 编辑:程序博客网 时间:2024/06/06 05:25
最近在扩充知识量,疯狂学习模板
贴一个trie树模板,里边26可改动,这里仅针对小写字母
#include <bits/stdc++.h>using namespace std;typedef struct Trie{ int v; Trie *next[26];} Trie;Trie root;void createTrie(char *str){ int len = strlen(str); Trie *p = &root, *q; for(int i=0; i<len; ++i) { int id = str[i]-'a'; if(p->next[id] == NULL) { q = (Trie *)malloc(sizeof(root)); q->v = 1; for(int j=0; j<26; ++j) q->next[j] = NULL; p->next[id] = q; p = p->next[id]; } else { p->next[id]->v++; p = p->next[id]; } }}int findTrie(char *str){ int len = strlen(str); Trie *p = &root; for(int i=0; i<len; ++i) { int id = str[i]-'a'; p = p->next[id]; if(p == NULL) return 0; } return p->v;}int main(){ //freopen("1.txt", "r", stdin); char str[30]; int i,n; for(i=0; i<26; ++i) root.next[i] = NULL; scanf("%d", &n); for(i=0; i<n; i++) { scanf("%s", str); createTrie(str); } memset(str, 0, sizeof(str)); scanf("%d", &n); for(int i=0; i<n; i++) { scanf("%s", str); int ans = findTrie(str); printf("%d\n", ans); } return 0;}
0 0
- 【模板】Trie树模板
- trie树的模板
- trie树入门(模板)
- trie树模板
- 字典树(trie)模板
- Trie字典树【模板
- Trie树模板
- Trie树模板
- Trie树模板
- 字典树Trie 模板
- Trie树模板
- Trie树模板
- Trie - 字典树 模板
- [模板]Trie树
- Trie树模板
- Trie字典树模板
- 【NOIP模板】 trie树
- 【模板】Trie树
- Ubuntu搭建vpn服务器
- JAVA之输入输出(一)
- iOS开发笔记之五十三——NSArray快速求总和、最大值、最小值和平均值
- iOS手机获取当前的IP
- 【PAT】【C++】读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
- Trie树模板
- 欢迎使用CSDN-markdown编辑器
- sublime更新之后无法使用package control
- 欢迎使用CSDN-markdown编辑器
- Java Servlet 教程
- HDU-5908-Abelian Period(暴力)
- 通过使用Power BI 将Azure 图表内容显示到自己的网页里
- 31. HTTP 与 HTTPS 区别
- 7天入门php-session操作-简介