博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hihocoder 1014 Trie树
阅读量:6572 次
发布时间:2019-06-24

本文共 1098 字,大约阅读时间需要 3 分钟。

  题目链接: ,刚学的字典树,就当模板了。

  最近都没有好好刷题,罪过罪过。

 

#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define LL long longconst int maxn = 1000000;struct Trie { int ch[maxn][26]; int cnt[maxn]; int size; Trie() { size = 1; memset(ch[0] , 0 , sizeof(ch[0])); memset(cnt , 0 , sizeof(cnt)); } int index(char c) { return c - 'a'; } void insert(char *s , int v) { int i , u; for(i = u = 0 ; s[i] != '\0' ; i++) { int c = index(s[i]); if(!ch[u][c]) {  memset(ch[size] , 0 , sizeof(ch[size])); ch[u][c] = size++; } u = ch[u][c]; cnt[u]++; //必须在这里 } } int query(char *s) { int i , u; for(i = u = 0 ; s[i] != '\0' ; i++) { int c = index(s[i]); if(!ch[u][c]) return 0; u = ch[u][c]; } return cnt[u]; }} trie;int main() { int n , m; char s[20]; scanf("%d" , &n); while(n--) { scanf("%s" , s); trie.insert(s , 1); } scanf("%d" , &m); while(m--) { scanf("%s" , s); printf("%d\n" , trie.query(s)); }}

 

转载于:https://www.cnblogs.com/H-Vking/p/4467754.html

你可能感兴趣的文章
cenOS+nginx+php+mysql (非一键包安装)
查看>>
优秀程序员不一定是优秀的软件设计师
查看>>
JS系列
查看>>
在文件夹右键菜单中添加“进入DOS”命令的方法
查看>>
我的友情链接
查看>>
我来自CSDN
查看>>
windowns
查看>>
java分享第十七天-02(封装操作excel类)
查看>>
在mysql表中插入大量测试数据
查看>>
怎么给电脑设置IP地址和DNS地址,各系统设置IP/DNS几种方法
查看>>
java 面试题解惑二 到底创建了几个String对象?
查看>>
面试总结之 oop desing 之 The Strategy Pattern
查看>>
必 备 习 题 集 (一)
查看>>
第 三 十 四 天:二 阶 段 复 习(五)
查看>>
windows下批量部署简易脚本
查看>>
python爬虫入门—统计豆瓣电影评论词频
查看>>
mysql由于server-id相同而造成同步失败
查看>>
【LoadRunner技术讲座4】利用sitescope监测监控mysql
查看>>
IEnumerable中运用yield
查看>>
python 时间转换(day,hous,minute,second)
查看>>