模板 Trie树
模板 Trie树
code:
#include <iostream>
#include <cstdio>
using namespace std;
const int wx=20017;
inline int read(){
	int sum=0,f=1; char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
	while(ch>='0'&&ch<='9'){sum=(sum<<1)+(sum<<3)+ch-'0'; ch=getchar();}
	return sum*f;
}
struct Trie{
	int tr[wx][27];
	int cnt;
	int flag[wx];
	void insert(char *s){
		int p=0;
		for(int i=0;s[i];i++){
			int k=s[i]-'a';
			if(!tr[p][k])tr[p][k]=++cnt;
			p=tr[p][k];
		}
		flag[p]=1;
	}
	bool query(char *s){
		int p=0;
		for(int i=0;s[i];i++){
			int k=s[i]-'a';
			if(!tr[p][k])return false;
			p=tr[p][k];
		}
		if(flag[p])return true;
		return false;
	}
}Trie;
int n;
int m;
char c[wx];
int main(){
	n=read();
	for(int i=1;i<=n;i++)
		scanf("%s",c),Trie.insert(c);
	m=read();
	for(int i=1;i<=n;i++)
		scanf("%s",c),printf("%d\n",Trie.query(c));
	return 0;
}模板 Trie树的更多相关文章
- [模板] trie树 (字典树)
		本文基于https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html #include<bits/stdc++.h> using name ... 
- 算法模板——Trie树
		实现功能——实现对于不同字符串以及之前出现过的字符串的识别,对于单个长度为L的字符串,复杂度为O(L); 代码不难懂,直接上(在识别字符串方面,个人觉得其好处远远大于hash识别——1.理论上都是O( ... 
- HDU 1251  Trie树模板题
		1.HDU 1251 统计难题 Trie树模板题,或者map 2.总结:用C++过了,G++就爆内存.. 题意:查找给定前缀的单词数量. #include<iostream> #incl ... 
- Phone list(Trie树模板)
		Phone List 共t组数据,给定n个长度不超过10的字符串,问其中是否存在两个数S,T,使得S是T的前缀. 存在则输出NO,不存在输出YES 输入样例#1: 2 3 911 97625999 9 ... 
- hiho #1014 : Trie树(模板)
		Trie树 [题目链接]Trie树 &题意: 输入 输入的第一行为一个正整数n,表示词典的大小,其后n行,每一行一个单词(不保证是英文单词,也有可能是火星文单词哦),单词由不超过10个的小写英 ... 
- LightOJ 1129 - Consistency Checker Trie树模板
		题意:给出n条串判断是否存在一个串为另一个串的前缀. 思路:套Trie树的模板,先全部插入,再查找每个字串,如果查找字串完毕,但还存在下一个节点,说明存在前缀. /** @Date : 2016-11 ... 
- poj3630 Phone List  (trie树模板题)
		Phone List Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26328 Accepted: 7938 Descr ... 
- HDU 1251 统计难题 (Trie树模板题)
		题目链接:点击打开链接 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单 ... 
- Trie树模板1字符串统计
		Trie树模板1字符串统计 我们首先来了解一下字典树,首先看一下一张字典树的图片 字典树就是一个可以高效存储.查找字符串的树,比如上面这个字典树就是存储abc,acb,bac的字典树. 1.插入操作( ... 
随机推荐
- 开发环境入门   linux基础 (部分)网络 SSH  更名  DNS解析 元字符
			nginx---> web ifconfig 查看网络配置信息 id add show 查看当前网卡信息(最小安装下) mtu 是指网卡传输的最大单元 单位:字节 网卡配置 临时配置 ifcon ... 
- PDM中列举所有含取值范围、正则表达式约束的字段
			Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl '当前model '获取当前活 ... 
- 新建 FrameMaker API 时引用目录的设置
			如果将FDK安装目录下的Sample项目拷贝到其它目录编译,往往会报错 c1083 找不到fapi.h等头文件,或者Link时报错找不到.lib文件. 1.可通过菜单-项目-xxx属性-配置属性-c/ ... 
- 第四章 Java并发编程基础
			线程简介 什么是线程? 现代操作系统在一个运行程序时,会为其创建一个进程.例如,启动一个Java程序,操作系统就会创建一个Java进程.现代操作系统调度的最小单元是线程,也叫轻量进程(Light We ... 
- 剑指offer 04_替换字符串中的空格
			#include <stdio.h> void ReplaceBlank(char string[],int length){ if(string == NULL || length == ... 
- Decorator模式 装饰器模式
			Android 使用了装饰器模式 1. 概述 若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性.如果已经存在的一个类缺少某些方法,或者须要给方法添加 ... 
- CheckBoxJS选中与反选得到Value
			function XuanZe(val) { datastr = $("#hid_AID").val(); var newstr = ""; ... 
- Tornado之抽屉实战(2)--数据库表设计
			经过我们上次分析,数据库要有最基本的四张表,用户表,消息表,类型表,点赞表,评论表,接下来我们看着怎么设计吧 首先我们要清楚,表设计的代码是写在models下的 用户表 ? 1 2 3 4 5 6 7 ... 
- springboot启动过程(2)-run方法
			1 springApplication的run run方法主要是用于创造spring容器ConfigurableApplicationContext对象. public ConfigurableApp ... 
- 时间获取_Date\SimpleDateFormat\Calendar类
			1.获取当前的日期,并把这个日期转换为指定格式的字符串,如2088-08-08 08:08:08 import java.text.SimpleDateFormat; import java.uti ... 
