Trie树

【题目链接】Trie树

&题意:

输入
输入的第一行为一个正整数n,表示词典的大小,其后n行,每一行一个单词(不保证是英文单词,也有可能是火星文单词哦),单词由不超过10个的小写英文字母组成,可能存在相同的单词,此时应将其视作不同的单词。接下来的一行为一个正整数m,表示小Hi询问的次数,其后m行,每一行一个字符串,该字符串由不超过10个的小写英文字母组成,表示小Hi的一个询问。
n, m<=100000,词典的字母表大小<=26.

输出
对于小Hi的每一个询问,输出一个整数Ans,表示词典中以小Hi给出的字符串为前缀的单词的个数。

&题解:

Trie蓝书模板

&代码:

#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long ll;
const int maxNo= 1000000 +7,sSi=26;
struct Trie {int ch[maxNo][sSi],val[maxNo],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(char *s) {int u=0;for(int i=0; s[i]; i++) {int c=idx(s[i]);if(!ch[u][c]) {memset(ch[sz],0,sizeof(ch[sz]));ch[u][c]=sz++;}u=ch[u][c];val[u]++;}}int query(char *s) {int u=0;for(int i=0; s[i]; i++) {int c=idx(s[i]);if(!ch[u][c]) return 0;u=ch[u][c];}return val[u];}
} tr;
int n,m;
char s[20];
int main() {freopen("E:1.in","r",stdin);while(~scanf("%d",&n)) {tr.init();for(int i=0; i<n; i++) {scanf("%s",s);tr.insert(s);}scanf("%d",&m);// for(int i=0; i<5; i++) {//  printf("%d ",tr.val[i]);// } puts("");for(int i=0; i<m; i++) {scanf("%s",s);// puts(s);printf("%d\n",tr.query(s));}}return 0;
}

转载于:https://www.cnblogs.com/s1124yy/p/6706151.html

hiho #1014 : Trie树(模板)相关推荐

  1. hiho一下第二周 Hihocoder #1014 : Trie树

    #1014 : Trie树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助, ...

  2. P4735 最大异或和 01可持久化Trie树模板

    原题:https://www.luogu.org/problemnew/show/P4735 题解:观察一下式子,将a数组求一个异或前缀和,其实就是s[n]^x^s[p-1]的最大值 p∈[l,r], ...

  3. [hiho 02]Trie树

    题目描述 Trie树概念相对简单. 如果是用于保存英文词典,时空效率都是不错的. 如果保存中文词典,对子节点的索引可能需要用一个哈希表来存. 在建树的过程中可以顺便统计特定前缀的单词数. 如果要求重复 ...

  4. trie树模板(前缀树)

    //查询字符串是否出现过 #include "bits/stdc++.h" using namespace std; const int N = 100005; int n,m; ...

  5. 0x16.基本数据结构 — Trie树(字典树)+ A C 自 动 机

    目录 用TrieTrieTrie树来处理整数异或问题是真的舒服! 一.TrieTrieTrie树 TrieTrieTrie的基本操作 0.初始化 1.插入 2.检索 二.TrieTrieTrie树例题 ...

  6. [学习笔记]我们追过的神奇异或(Trie树系列)

    引言 刚学了\(Trie\)树,写篇博客巩固一下. 题目 首先安利一发\(Trie\)树模板 1.Phone List 2.The XOR largest pair 3.The xor-longest ...

  7. hdu 1251 统计难题 (Trie树)

    本题是trie树模板题,如果不用trie而用map写可以看出trie处理这类问题有明显的时间优势. 在trie树中查找一个关键字的时间和树中包含的结点数无关,而取决于组成关键字的字符数.(对比:二叉查 ...

  8. hihocoder-1014 Trie树

    hihocoder 1014 : Trie树 link: https://hihocoder.com/problemset/problem/1014 题意: 实现Trie树,实现对单词的快速统计. # ...

  9. SZUACM集训字符串基础总结: 字符串最小表示 ,KMP, EXKMP, Manracher, Trie树,字符串的hash; 附带一写常见的运用技巧,邝斌大佬的板子和例题[持续更新]

    第一部分 字符串的匹配<-------->KMP 模式匹配:子串的定位运算称为串的模式匹配或串匹配. 假设有两个串S,T,设S为主串,也称正文串,T为子串,也称为模式,在主串S中查找与模式 ...

最新文章

  1. TStringList的用法
  2. UML序列图总结(Loop、Opt、Par和Alt)
  3. [SinGuLaRiTy] 2017 百度之星程序设计大赛 初赛A
  4. JAVA SPI机制及SPI机制在Tomcat中的应用
  5. POJ2369 置换群
  6. 美玉待琢——《一本写满评论的艾泽拉斯收藏指南》
  7. 注册Tomcat服务为系统服务
  8. Checking if your code is running on 64-bit PHP
  9. 源代码电影涉及的计算机思想,关于电影源代码的结局解释
  10. OpenGL学习笔记_简介_环境配置_创建一个窗口实例
  11. 在Linux下安装QQ
  12. 翟菜花:为什么说社区会是虚拟偶像驶向未来的新航标?
  13. 应届生Java后台开发面试整理(含答案,不定期更新)
  14. Win10有哪些方便快捷的操作小技巧?
  15. 图书-旅行-十年徒步中国:《信念:十年徒步中国》
  16. java.lang.abstractmethoderror
  17. dreamer Waver cc 2014 安装失败解决
  18. 红米9a手动root方法
  19. 使用WinDbg —— .NET篇 (一)
  20. 用pip安装pytorch

热门文章

  1. php 将数据库导出为csv,php – 将数据库转换为CSV并将文件保存到服务器上的文件夹 - 程序园...
  2. 【clickhouse】Port 9000 is for clickhouse-client program
  3. 95-34-025-Context-AbstractChannelHandlerContext
  4. 【Elasticsearch】 es 排查问题 explain 使用 内容解释
  5. 60-100-030-使用-Docker MySQL 8 主从复制
  6. 【Java】Java调用shell脚本
  7. 【registry】registry An exception was thrown while processing request with message
  8. Spring : @Qualifier 注解
  9. Spring : Spring容器之SmartLifeCycle的简单使用
  10. 【安全】安装phpLDAPadmin管理LDAP