//查询字符串是否出现过
#include "bits/stdc++.h"
using namespace std;
const int N = 100005;
int n,m;
int num[N];//标记这个编号是不是一个单词的结尾
int son[N][30];//根节点
int indx;
void init(){ //初始化for(int i=0;i<=indx;i++){num[i]=0;for(int j=0;j<=26;j++){son[i][j]=0;}}indx=0;
}
void insert(string str){ //插入int x=0;for(int i=0;i<str.size();i++){int y=str[i]-'a';if(son[x][y]==0) son[x][y]=++indx;x=son[x][y];}num[x]++;
}
int query(string str){ 查询int x=0;int sum=0;for(int i=0;i<str.size();i++){int y=str[i]-'a';x=son[x][y];if(x==0) return sum;sum+=num[x];}return sum;
}
int main(){cin>>n>>m;init();string s;indx=0;memset(num,0,sizeof(num));memset(son,0,sizeof(son));for(int i=1;i<=n;i++){cin>>s;insert(s);}for(int i=1;i<=m;i++){string str;cin>>str;cout<<query(str)<<endl; //问s1 - sn 中有多少个字符串是 str 的前缀
//        if(query(s)==1) cout<<"YES"<<endl;
//        else cout<<"NO"<<endl;}
}

trie树模板(前缀树)相关推荐

  1. trie(字典树、前缀树)

    trie(字典树.前缀树) 1. trie原理 原理 trie树,又被称为字典树.前缀树,是一种高效地存储和查找字符串集合的数据结构. 一般来说,用到trie的题目中的字母要么全是小写字母,要么全是大 ...

  2. 分门别类刷leetcode——高级数据结构(字典树,前缀树,trie树,并查集,线段树)

    目录 Trie树(字典树.前缀树)的基础知识 字典树的节点表示 字典树构造的例子 字典树的前序遍历 获取字典树中全部单词 字典树的整体功能 字典树的插入操作 字典树的搜索操作 字典树的前缀查询 字典树 ...

  3. 实现字典树(前缀树、Trie树)并详解其应用

    今天看到一个比较好的数据结构,字典树,做一下记录,以供自己后期复习和读者朋友的参考. 1.定义 字典树又称单词查找树.前缀树.Trie树等,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序 ...

  4. 数据库索引数据结构总结——ART树就是前缀树

    数据库索引数据结构总结 from:https://zhewuzhou.github.io/2018/10/18/Database-Indexes/ 摘要 数据库索引是数据库中最重要的组成部分,而索引的 ...

  5. Trie (字典树,前缀树)

    一,内容 (一),概念 详情可见:详解Trie 插入过程(insert)          对于一个单词,从根开始,沿着单词的各个字母所对应的树中的节点分支向下走,直到单词遍历完,将最后的节点进行标记 ...

  6. Java Trie字典树,前缀树

    Trie查询每个条目的时间复杂度,和字典中一共有多少条无关. 时间复杂度为O(W) w为查询单词的长度 import java.util.TreeMap;public class Trie {priv ...

  7. 字典树(前缀树)-Java实现

    字典树 字典树是一种树形结构,优点是利用字符串的公共前缀来节约存储空间.在这提供一个自己写的Java实现,非常简洁. 根节点没有字符路径.除根节点外,每一个节点都被一个字符路径找到. 从根节点到某一节 ...

  8. LeetCode 208. 实现 Trie (前缀树) —— 提供一套前缀树模板

    208. 实现 Trie (前缀树) Ideas 前缀树嘛,直接套模板咯,把之前写的拿过来抄一遍. 提供一下我的模板. Code Python class TrieNode:def __init__( ...

  9. Trie(前缀树/字典树)及其应用

    from:https://www.cnblogs.com/justinh/p/7716421.html Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,P ...

  10. trie树查找前缀串_Trie数据结构(前缀树)

    trie树查找前缀串 by Julia Geist Julia·盖斯特(Julia Geist) A Trie, (also known as a prefix tree) is a special ...

最新文章

  1. HDU 4406 最大费用最大流
  2. String 常量池
  3. java核心标签库,16.JSTL标签库(我的JavaEE笔记)
  4. 剑指offer之反向打印链表值
  5. java使用教程——组件及事件处理——常用组件与布局
  6. 7000 亿!华为正式宣布,全世界为之颤抖!
  7. 归并排序JAVA代码详解
  8. 【课程设计】企业职工工资管理系统 C语言版
  9. Python三目表达式
  10. Spring源码分析一:容器篇—refresh()
  11. vue 自动播放语音
  12. ubuntu20.04安装常用的软件
  13. 利用Excel Power Query获取基金历史净值、估值和日增长率等信息
  14. Android Q SQLite性能问题调研
  15. 数据分析编程检验——车流量统计(不能使用pandas和numpy)
  16. 31 天重构学习笔记26. 避免双重否定
  17. 拒绝垃圾专业化学:选择正确的专业远比多考几分更重要 ——致全国高考考生和家长的一封信
  18. matlab 雷诺,matlab求解雷诺方程
  19. 微信文章长连接转短连接
  20. 数据仓库架构、模型、调度、指标建设方案(PPT)

热门文章

  1. 轻松一下:python(turtle模块)绘制分形图
  2. 手把手教你用深度学习做物体检测(二):数据标注
  3. 2019年全国职业院校技能大赛中职组“网络空间安全”正式赛卷及其“答案”
  4. 化工学matlab,化工和石化行业
  5. NOIp2017——追求那些我一直追求的
  6. 硬盘开盘数据恢复成功,笔记本硬盘开机无法识别到硬盘
  7. 化工集团公司数字化转型有力抓手“数字化示范项目建设
  8. 什么是粘包?socket 中造成粘包的原因是什么? 粘包的处理方式
  9. 胡瑜 简介中科院计算机所,胡瑜--中科院计算所计算机体系结构国家重点实验室...
  10. 禁止Win系统自动唤醒