字典树(Trie树)模版
2016-06-11 17:55
267 查看
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const int maxn= const int maxnode= const int sigma_size= struct Trie { int ch[maxnode][sigma_size]; int val[maxnode]; int sz; Trie(){sz=1;memset(ch[0],0,sizeof(ch[0]));} int idx(char c) {return c-'a';} void insert(char *s,int v) { int u=0,n=strlen(s); for(int i=0;i<n;i++) { int c=idx(s[i]); if(!ch[u][c]) { memset(ch[sz],0,sizeof(ch[sz])); val[sz]=0; ch[u][c]=sz++; } u=ch[u][c]; } val[u]=v; } }P;
相关文章推荐
- 银行风控案例-python学习笔记
- xml约束文档之DTD
- linux网络编程:三次握手与四次挥手
- long long ,列表初始化
- javascript 原型链和继承(2)
- c++友元
- Ubuntu apt-get 换源
- JS获取当前网页大小以及屏幕分辨率等
- 1、MySql的安装和连接测试并给root用户赋密码
- [金融学习笔记]金融的时间价值
- Android监听事件
- javascript基础
- ios中常用的小技巧(总有你不知道的和你会用到的)
- ubuntu 用crossover装上的软件怎么卸载?
- iOS通讯录整合,兼容iOS789写法,附demo
- Math类
- javaweb学习总结(三十一)——国际化(i18n)
- 5月英语总结
- 分治法之合并排序算法理解介绍
- 【Java】两个集合取交集