codevs4189字典(字典树)
/*
本字典树较弱 只支持插入单词 查询单词.
特殊的 bool变量w 标记此字母是不是某个单词的结束
(然而这个题并没卵用)
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 300010
#define maxm 1010
using namespace std;
char s[maxm];
struct node
{
int next[];
bool w;
}tire[maxn];
int n,m,topt;
void Add_tire()
{
int l=strlen(s);
int now=;
for(int i=;i<l;i++)
{
int x=s[i]-'a'+;
if(tire[now].next[x])
now=tire[now].next[x];
else
{
++topt;
tire[now].next[x]=topt;
now=topt;
}
}
tire[now].w=;
}
int find()
{
int len=strlen(s);
int now=,p=,sum=;
while(p<=len-)
{
if(tire[now].next[s[p]-'a'+])
{
now=tire[now].next[s[p]-'a'+];
p++;
continue;
}
return ;
}
//if(!tire[now].w)return 0;
return ;
}
int main()
{
cin>>n;
for(int i=;i<=n;i++)
{
scanf("%s",s);
Add_tire();
}
cin>>m;
memset(s,,sizeof(s));
for(int i=;i<=m;i++)
{
scanf("%s",s);
int bo=find();
if(bo)printf("YES\n");
else printf("NO\n");
}
return ;
}
codevs4189字典(字典树)的更多相关文章
- 【转】B树、B-树、B+树、B*树、红黑树、 二叉排序树、trie树Double Array 字典查找树简介
B 树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: ...
- 记录我的 python 学习历程-Day05 字典/字典的嵌套
一.字典的初识 为什么要有字典 字典与列表同属容器型数据类型,同样可以存储大量的数据,但是,列表的数据关联性不强,并且查询速度比较慢,只能按照顺序存储. 什么是字典 先说一下什么叫可变与不可变的数据类 ...
- Hihocoder #1014 : Trie树 (字典数树统计前缀的出现次数 *【模板】 基于指针结构体实现 )
#1014 : Trie树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助, ...
- 字典(trie)树--从入门到入土
今天再来认识一个强大的数据结构. 字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词 ...
- iOS:JSON格式字符串转字典,字典转JSON格式字符串
在iOS开发中,和服务器交互中,经常用到字典和JSON格式字符串相互转换. 代码如下: 1.JSON格式字符串转字典 + (NSDictionary *)dictionaryWithJsonStrin ...
- iOS JSON字符串转化为字典-字典转Json字符串-
1. JSON字符串转化为字典 + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString = ...
- python字典-字典方法
1.kyes() (1)取出字典的key In [32]: myCat Out[32]: {'colr': 'gray', 'size': 'fat'} In [33]: for i in myCat ...
- 字典|字典和数组嵌套|keys()|value()|item()|del
python 中没有i++! dic = { 'a':5, 'kelv':'ooo', 5:2333, 2333:'yoo' } print dic[dic[dic['a']]] print dic ...
- 字典(Tire树)
4189 字典 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description 最经,skyzhong得到了一本好厉害的字典,这个 ...
- 字典(Trie树)
4189 字典 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description 最经,skyzhong得到了一本好厉害的字典,这个 ...
随机推荐
- cloudera-scm-server ip改了怎么办了
1.vi /etc/cloudera-scm-agent/config.ini #改下ip 2.manager 老只看到一个主机 rm -f /var/lib/cloudera-scm-agent/u ...
- Rust语言:安全地并发
http://www.csdn.net/article/2014-02-26/2818556-Rust http://www.zhihu.com/question/20032903 Rust是近两年M ...
- 工作总结:qsort函数用法
qsort(&g_AMTBuf[g_dwAMTLenth], m_nCount, sizeof(12), Compare); 参数说明: 1.待排序数组首地址: 2.数组中待排序元素数量: 3 ...
- yum仅下载RPM包不安装
http://www.ttlsa.com/linux/howto-yum-download-rpm-without-install/
- android 读取SD卡文件
SD卡作为手机的扩展存储设备,在手机中充当硬盘角色,可以让我们手机存放更多的数据以及多媒体等大体积文件.因此查看SD卡的内存就跟我们查看硬盘的剩余空间一样,是我们经常操作的一件事,那么在Android ...
- Bull And Cows
package cn.edu.xidian.sselab.hashtable; import java.util.HashMap;import java.util.Map;import java.ut ...
- paip.提升用户体验-----c++ gcc 命令在notepad++扩展中的配置..
paip.提升用户体验-----c++ gcc 命令在notepad++扩展中的配置.. 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址: ...
- Javascript面向对象编程(三):非构造函数的继承 by 阮一峰
今天是最后一个部分,介绍不使用构造函数实现"继承". 一.什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人". var Ch ...
- 汇编学习笔记(7)call和ret指令
ret和retf CPU执行ret指令时进行以下两步操作: (IP)=((ss)*16+(sp)) (sp)=(sp)+2 这相当于pop IP CPU执行retf指令时进行以下四步操作: (IP)= ...
- HDOJ(HDU) 2113 Secret Number(遍历数字位数的每个数字)
Problem Description 有一天, KIKI 收到一张奇怪的信, 信上要KIKI 计算出给定数各个位上数字为偶数的和. eg. 5548 结果为12 , 等于 4 + 8 KIKI 很苦 ...