字典树模板
来源:互联网 发布:安卓微信数据恢复 编辑:程序博客网 时间:2024/06/02 02:38
#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <vector>#include <algorithm>#include <string>#include <iostream>using namespace std;const int MAXN=500000+10;struct trie{ int ch[MAXN<<3][30]; int val[MAXN<<3]; int sz; void init(){ sz=1; memset(ch[0],0,sizeof ch[0]); memset(val,0,sizeof val); } int idx(char c){ return c-'a'; } void insert(const char *s){ int u=0,n=(int)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]++; } } int query(const char *s,int rt,int n,int cur){ int res=0; if(cur==n){ return val[rt]; } if(s[cur]=='$'){ for(int i=0;i<26;i++){ if(ch[rt][i]){ res+=query(s, ch[rt][i], n, cur+1); } } }else{ int c=idx(s[cur]); if(ch[rt][c]){ return query(s,ch[rt][c],n,cur+1); } return 0; } return res; }};
阅读全文
0 0
- 字典树 模板
- 字典树【模板】
- 字典树模板
- 字典树模板
- 字典树模板
- 经典字典树模板
- hdu1247 字典树模板
- 字典树模板
- 字典树模板
- 字典树模板
- 字典树模板
- 字典树 模板
- 1251 字典树 模板
- 数据结构 字典树模板
- 字典树模板
- 字典树(trie)模板
- 字典树 模板+讲解
- 字典树模板
- 百度语音识别和合成
- 状态压缩DP总结【POJ3254】【POJ1185】【POJ3311】【HDU3001】【POJ2288】【ZOJ4257】【POJ2411】【HDU3681】
- python中的OS模块
- LintCode 题目解答之字符串操作(1)
- 成功的背后!(给所有IT人)
- 字典树模板
- ROS中使用USB摄像头
- win10快捷键冲突
- 组建AR、VR和MR的硬件共享实验室,你认为可能吗?
- HDU6058 Kanade's sum(链表)
- win10 windows文件夹就占用40G
- 前端,前端轮播的做法
- 手把手教你不使用任何工具将腾讯视频qlv格式转换为MP4格式的方法
- 【hpuoj 1400 神奇的操作 】