题目链接

DHU--1247 Hat’s Words

HiHocder--1014 Trie树

两个一个递归方式一个非递归

HiHocoder

#include<bits/stdc++.h>
using namespace std;
#define maxn 100010
struct ac{
   ],fa;
}tre[maxn*];
,len=;
string s;
void updata(int x,int y){
   if(x>=s.size()) return ;
   int k=s[x]-'a';
   int i;
   if(tre[y].nex[k]){
      i=tre[y].nex[k];
      tre[i].sum++;
      updata(++x,i);
   }else{
      tre[y].nex[k]=++tot;
      tre[tot].sum=;
      i=tot;
      updata(++x,i);
   }
   ){
     tre[i].fa++;
   }
}
int query(int x,int y){
   int k=s[x]-'a';
   ){
      int i=tre[y].nex[k];
      return tre[i].sum;
   }
   if(tre[y].nex[k]){
      return query(++x,tre[y].nex[k]);
   }
   ;
}
int main(){
   memset(tre,,sizeof(tre));
   int n,m;
   cin>>n;
   ;j<n;j++){
     cin>>s;
     updata(,);
   }
   cin>>m;
   ;j<m;j++){
      cin>>s;
      printf(,));
   }
}
/*
5
babaab
babbbaaaa
abba
aaaaabaa
babaababb
5
babb
baabaaa
bab
bb
bbabbaab
求前缀
1
0
3
0
0
*/

HDU

#include<bits/stdc++.h>
using namespace std;
#define maxn 100000
][];
,tot=;
struct ac{
   ],fa,c;
   void init(){
     sum=;fa=;
     memset(nex,,sizeof(nex));
   }
}tre[maxn*];
void add(char s[]){
   ,j;
   ;
   while(s[i]){
      int k=s[i]-'a';
      if(tre[z].nex[k]){
         j=tre[z].nex[k];
         tre[j].sum++;
         z=j;
      }else{
        tre[z].nex[k]=++tot;
        j=tot;
        tre[j].init();
        tre[j].sum=;
        z=j;
      }
      i++;
   }
   tre[z].fa++;
}
bool query(char s[]){
   ,j,z=;
   while(s[i]){
      int k=s[i]-'a';
      ) ;
      z=tre[z].nex[k];
      i++;
   }
   ;
   ;
}
bool query1(char s[]){
   ,j,z=;
   while(s[i]){
      int k=s[i]-'a';
      z=tre[z].nex[k];
      if(tre[z].fa){
         )) ;
      }
      i++;
   }
   ;
}
int main(){
   ]);
   ;j<len;j++){
      if(query1(a[j])){
         cout<<a[j]<<endl;
      }
   }
}

DHU--1247 Hat’s Words && HiHocder--1014 Trie树 (字典树模版题)的更多相关文章

  1. 剑指Offer——Trie树(字典树)

    剑指Offer--Trie树(字典树) Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种的单词.对于每一个单词,我们要判断他出没出现过,如果出现了,求第一次出现在第几个位 ...

  2. AC自动机——1 Trie树(字典树)介绍

    AC自动机——1 Trie树(字典树)介绍 2013年10月15日 23:56:45 阅读数:2375 之前,我们介绍了Kmp算法,其实,他就是一种单模式匹配.当要检查一篇文章中是否有某些敏感词,这其 ...

  3. Trie(字典树)

    没时间整理了,老吕又讲课了@ @ 概念 Trie即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种,典型应用是统计和排序大量的字符串(不限于字符串) Trie字典树主要用于存储字符串, ...

  4. [LintCode] Implement Trie 实现字典树

    Implement a trie with insert, search, and startsWith methods. Have you met this question in a real i ...

  5. Trie树|字典树(字符串排序)

    有时,我们会碰到对字符串的排序,若采用一些经典的排序算法,则时间复杂度一般为O(n*lgn),但若采用Trie树,则时间复杂度仅为O(n). Trie树又名字典树,从字面意思即可理解,这种树的结构像英 ...

  6. Trie - leetcode [字典树/前缀树]

    208. Implement Trie (Prefix Tree) 字母的字典树每个节点要定义一个大小为26的子节点指针数组,然后用一个标志符用来记录到当前位置为止是否为一个词,初始化的时候讲26个子 ...

  7. Trie树/字典树题目(2017今日头条笔试题:异或)

    /* 本程序说明: [编程题] 异或 时间限制:1秒 空间限制:32768K 给定整数m以及n个数字A1,A2,..An,将数列A中所有元素两两异或,共能得到n(n-1)/2个结果,请求出这些结果中大 ...

  8. Trie树(字典树)的介绍及Java实现

    简介 Trie树,又称为前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串.与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定.一个节点的所有子孙都有相同的前缀,也 ...

  9. Trie树 - 字典树

    1.1.什么是Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是最大限 ...

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

    Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,PATRICIA tree,以及bitwise版本的crit-bit tree.当然很多名字的意义其实有交 ...

随机推荐

  1. React Native之图片保存到本地相册(ios android)

    React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...

  2. 2 JAVA 项目名称前红色叹号如何解决

    1 Java 项目前出现红色叹号Eclipse找不到项目需要的JAR包,可以在这里面解决: ① 右键点击项目,选择[Build Path].[Configure Build Path...] ② 在这 ...

  3. C# Note3:大话Ninject

    前言 之所以研究Ninject,是因为初入职在开发XX项目的ComponentService部分时用到了它,一下子发现了它的强大.渐渐地发现在项目中,有时会用到优秀的第三方开源库,这些都是前人智慧的结 ...

  4. Hbase 架构体系

    有2个节点进程,一个是master,另一是regionserver.

  5. DAY09、函数

    一.函数的定义:跟变量名的定义大同小异 1.声明函数的关键词:def 2.函数(变量)名:使用函数的依据 3.参数列表:()   参数个数可以为0到n个,但()一定不能丢,完成功能的必要条件 4.函数 ...

  6. vue-cli: preset预设

    preset:预设 vue create demo01 过程中,会保存预设,自动保存着 .vuerc 文件中 .vuerc 文件的位置:C:\Users\Administrator C:\Users\ ...

  7. 魔术方法:__set、__get

    __set: 在设置对象里边不能直接设置(或没有)的属性值的时候,自动去被调用 class Track { private $track_name; public function __set($na ...

  8. html5 autoplay不起作用 Uncaught (in promise) DOMException: play() failed because the user didn't interac

    chrome://flags/#autoplay-policy

  9. 【数学建模】day01-线性规划问题

      线性规划问题是在一组线性约束条件下,求线性目标函数最大/最小值的问题.这些约束条件有不等式约束.等式约束以及边界约束,这和中学讲的线性规划无异. 此类问题的MATLAB标准形式为: 其中,max问 ...

  10. 【Java】Android EditText开发的一个容易忽略的坑

    这几天接手做一个远程控制Android application,安卓前台的EditText用来输入ip地址.端口等信息,发现EditText的使用存在着巨坑一个! 我在网上找了半天,发现仅仅有人提出这 ...