统计难题

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)
Total Submission(s): 53007    Accepted Submission(s): 18515

Problem Description

Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).

Input

输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串.

注意:本题只有一组测试数据,处理到文件结束.

Output

对于每个提问,给出以该字符串为前缀的单词的数量.

Sample Input

banana band bee absolute acm ba b band abc

Sample Output

2 3 1 0

#include<bits/stdc++.h>
using namespace std;int trie[400001][26],len,root,tot,sum[400001];
bool p;
int n,m;
char s[11];
void insert()
{len=strlen(s);root=0;for(int i=0;i<len;i++){int id=s[i]-'a';if(!trie[root][id]) trie[root][id]=++tot;sum[trie[root][id]]++;//前缀后移一个位置保存 root=trie[root][id];}
}
int search()
{root=0;len=strlen(s);for(int i=0;i<len;i++){int id=s[i]-'a';if(!trie[root][id]) return 0;root=trie[root][id];}//root经过此循环后变成前缀最后一个字母所在位置的后一个位置 return sum[root];//因为前缀后移了一个保存,所以此时的sum[root]就是要求的前缀出现的次数
}int main()
{int f=0;while(gets(s)){if(strlen(s)==0){f=1;continue;}if(!f)insert();else cout<<search()<<endl;}return 0;
}

hdu-1251(基本字典树)相关推荐

  1. hdu 1251+hdu 1671(字典树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251 一开始我是直接用STL做的,唉...没有经验那...orz...然后毫无疑问地超时了... 看别 ...

  2. hdu 1075 (字典树映射)

    /*问题:输入一段英文,对照给的单词的映射,输出映射后的字符串YY :典型的字典树问题,先处理好映射表,在一映射单词结尾处记录与之对应的单词,后面字符串处理一下,单个单词进行查,找到后输出,没有输出原 ...

  3. 单词数 HDU - 2072(字典树模板题amp;stl)

    lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input 有多组数据,每组一行,每组就 ...

  4. hdu 5687 裸字典树

    度熊手上有一本神奇的字典,你可以在它里面做如下三个操作: 1.insert : 往神奇字典中插入一个单词 2.delete: 在神奇字典中删除所有前缀等于给定字符串的单词 3.search: 查询是否 ...

  5. 单词数 HDU - 2072 纯字典树个人理解

    lily的好朋友xiaoou333最近很空, 他想了一件没有什么意义的事情, 就是统计一篇文章里不同单词的总数. 下面你的任务是帮助xiaoou333解决这个问题. Input有多组数据,每组一行,每 ...

  6. hdu 1251 统计难题(字典树)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1251 分析: 关于字典树的题目似乎都有一个普通适用性的模板,有时只是稍加改动来满足临时的要求,我的一 ...

  7. hdu 1251 统计难题 (字典树入门题)

    1 /******************************************************* 2 题目: 统计难题 (hdu 1251) 3 链接: http://acm.hd ...

  8. HDU - 1251 统计难题(字典树)

    题目链接:点击查看 题目大意:给出一些单词,后续再给出一些前缀,询问包含此前缀的单词一共有多少个 题目分析:这个题目的数据可能有点水,而且时间给的也很足,给了两秒,而且加上是hdu的,可以用无序map ...

  9. HDU 1251 统计难题 字典树/STL

    统计难题 Time Limit:2000MS     Memory Limit:65535KB     64bit IO Format:%I64d & %I64u Description Ig ...

  10. 【HDU - 1251 】统计难题(字典树,求拥有公共前缀的字符串数量)

    题干: Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据 ...

最新文章

  1. Qt新建项目No valid kits found解决思路
  2. 基于jquery的无刷新表格分页
  3. 福师计算机导论在线作业一,福师《计算机导论》在线作业一..doc
  4. POI实现Excel导入时提示NoSuchMethodError: org.apache.poi.util.POILogger.log
  5. C++课程设计详解-12306的模拟实现
  6. JSTL-EL表达式 函数fn
  7. 项目管理修炼之道之估算工作
  8. mysql回表查询uuid_MySQL数据库回表与索引
  9. begin entries matlab,Matlab-图形算法和图像处理指南
  10. 如何做一个淘宝客(前期为自己省钱)
  11. 分享一个妄想山海脚本辅助,另附PHP随机数生成器代码
  12. [jzoj5236]【NOIP2017模拟8.7A组】利普希茨
  13. 建筑师又在用人工智能做什么?(2019年第三期)
  14. [数据科学]000.我为什么当数据科学家
  15. 文件上传(图片上传) 大小限制的配置 及注意点
  16. 华为云如何绑定/解绑二次验证码/虚拟MFA/谷歌身份验证器?
  17. java线程堆栈nid.tid_java多线程死锁 Java问题定位之Java线程堆栈分析(2)
  18. docker安装python依赖包
  19. 网络安全专用3款黑客新工具,好用得不得了 !
  20. EasyExcel复杂模板填充

热门文章

  1. Sprint第三阶段(第四天12.12)
  2. 删除一个目录及其子目录下的所有.svn文件
  3. SQL 取字符串列表
  4. matlab中svd函数用法总结
  5. keras多输出模型
  6. PHP是弱类型还是强类型,php弱类型比较(松散比较) | CN-SEC 中文网
  7. 【Python】函数外定义变量并在函数内进行更新
  8. 【Word】如何把代码优美的插入word
  9. ustc小道消息20211213
  10. 雨中赶班车 2019-12-19