题目链接:http://hihocoder.com/problemset/problem/1014

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <cstring>
  5. using namespace std;
  6.  
  7. const int maxn = 1e6 + ; // 1e5 * 10 (1e5个单词 * 单词长度 (<= 10))
  8. const int N = ;
  9.  
  10. int le;
  11. char str[N];
  12.  
  13. struct Trie
  14. {
  15. int cnt;
  16. int next[N];
  17. void init() {
  18. cnt = ;
  19. memset(next, -, sizeof(next));
  20. }
  21. }T[maxn];
  22.  
  23. void Build(char *s)
  24. {
  25. int i = , p = ;
  26. while (s[i]) {
  27. int x = s[i] - 'a';
  28. if (T[p].next[x] == -) {
  29. T[le].init();
  30. T[p].next[x] = le++;
  31. // printf("T[%d].next[%d] = %d, ", p, x, T[p].next[x]);
  32. }
  33. p = T[p].next[x];
  34. T[p].cnt++;
  35. // printf("T[%d].cnt = %d\n", p, T[p].cnt);
  36. i++;
  37. }
  38. }
  39.  
  40. void Query(char *s)
  41. {
  42. int i = , p = ;
  43. while (s[i]) {
  44. int x = s[i] - 'a';
  45. if (T[p].next[x] == -) {
  46. puts("");
  47. return ;
  48. }
  49. p = T[p].next[x];
  50. i++;
  51. }
  52. printf("%d\n", T[p].cnt);
  53. }
  54.  
  55. int main()
  56. {
  57. int n, m;
  58. #ifndef ONLINE_JUDGE
  59. freopen("in.txt", "r", stdin);
  60. #endif // ONLINE_JUDGE
  61.  
  62. while (scanf("%d", &n) != EOF) {
  63. le = ;
  64. T[].init(); // !root
  65. while (n--) {
  66. scanf("%s", str);
  67. Build(str);
  68. }
  69. scanf("%d", &m);
  70. while (m--) {
  71. scanf("%s", str);
  72. Query(str);
  73. }
  74. }
  75. return ;
  76. }

hiho一下第二周 Trie树的更多相关文章

  1. hiho一下 第二周 trie树

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

  2. hiho一下 第二周&第四周:从Trie树到Trie图

    hihocoder #1014 题目地址:http://hihocoder.com/problemset/problem/1014 hihocoder #1036 题目地址: http://hihoc ...

  3. hiho一下21周 线段树的区间修改 离散化

    离散化 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在回国之后,重新过起了朝7晚5的学生生活,当然了,他们还是在一直学习着各种算法~ 这天小Hi和小Ho ...

  4. hihoCoder hiho一下 第二周 #1014 : Trie树(Trie树基本应用)

    思路: 完全看题目中的介绍就行了.还有里面的input写道:不保证是英文单词,也有可能是火星文单词哦.比赛结束后的提交是不用考虑26个字母之外的,都会AC,如果考虑128种可能的话,爆了内存.步骤就是 ...

  5. 【hiho一下第二周 】Trie树

    [题目链接]:http://hihocoder.com/problemset/problem/1014 [题意] [题解] 在字典树的域里面加一个信息cnt; 表示这个节点下面,记录有多少个单词; 在 ...

  6. hiho一下20周 线段树的区间修改

    线段树的区间修改 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于小Ho表现出的对线段树的理解,小Hi表示挺满意的,但是满意就够了么?于是小Hi将问题改了改,又出给了 ...

  7. CCF NOI Online 2021 提高组 T3 岛屿探险(CDQ 分治,Trie 树)

    题面 凇睦是一个喜欢探险的女孩子,这天她到一片海域上来探险了. 在这片海域上一共有 n 座岛屿排成一排,标号为 1, 2, 3, . . . , n.每座岛屿有两个权值,分别为劳累度 ai 和有趣度 ...

  8. HihoCoder第二周与POJ3630:Trie树的建立

    这又是两道一样的题,都是建立trie树的过程. HihoCoder第二周: 这里其实逻辑都很简单,主要在于数据结构struct的使用. #include <iostream> #inclu ...

  9. hiho 第二周

    Trie树,第一次写,简单的建树+搜索 它的思路hiho上讲得很清楚,good~ #include<iostream> #include<string> using names ...

随机推荐

  1. 理解Memcached的分布式

    Memcached尽管是"分布式"的缓存系统,但是服务器端并没有分布式功能.各个Memcached实例不会相互通信以共享信息,Memcached如何进行分布式完全取决于客户端的实现 ...

  2. ExtJS请求验证方法

    //登录连接数据库验证 function loginCheck() { var UserName = Ext.getCmp("UserName").getValue(); var ...

  3. Express开发实例(2) —— Jade模板引擎

    前一篇通过helloworld,简单介绍了Express中的开发,本篇继续深入的学习express的模板. 关于Jade的用法,网上有很多,本篇参考:Jade语法 安装相关模块 在实验代码前,应该先安 ...

  4. 安装SQL Server 2012 『企业中文版』

    安装 SQL Server 前,请详细参阅:计划安装SQL Server2012需求详细http://www.cnblogs.com/chhuang/p/3623198.html 安装 SQL Ser ...

  5. Codeforces Round #270 1002

    Codeforces Round #270 1002 B. Design Tutorial: Learn from Life time limit per test 1 second memory l ...

  6. ubutu之mysql emma中文乱码问题解决

    emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python).apt-get安装emmasudo apt-get install emma    ...

  7. nginx反向代理、让代理节点记录客户端真实IP

    环境:根据http://www.cnblogs.com/zzzhfo/p/6032095.html环境配置 在web01或web02上查看用户访问日志 先客户端访问 [root@web_backup ...

  8. BZOJ4519——[cqoi2016]不同的最小割

    0.题意:求两点之间的最小割的不同的总量 1.分析:裸的分治+最小割,也叫最小割树或GH树,最后用set搞一下就好 #include <set> #include <queue> ...

  9. 使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB)

    使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB) http://www.cnblogs.com/mrkelly/p/4015245.html 以往调试Androi ...

  10. leetcode 63. Unique Paths II

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...