首页 > 其他分享 >Trie 树

Trie 树

时间:2023-04-29 18:13:11浏览次数:26  
标签:cnt Trie ++ son int str

Trie 树, 高效地存储和查找字符串集合的数据结构


//Trie树模板
int son[N][26],cnt[N],idx;

//插入一个字符串
void insert (char str[])
{
    int p=0;
    for(int i=0;str[i];i++)
    {
        int u=str[i]-'a';
        if(!son[p][u])son[p][u]=++idx;
        p=son[p][u];
    }
    cnt[p]++;
}

//查询字符串出现的次数
int query (char str[])
{
    int p=0;
    for(int i=0;str[i];i++)
    {
        int u=str[i]-'a';
        if(!son[p][u])return 0;
        p=son[p][u];
    }
    return cnt[p];
}


标签:cnt,Trie,++,son,int,str
From: https://www.cnblogs.com/evilboy/p/17364318.html

相关文章

  • Trie字典树(例题详解+模板cpp)
    字典树(Trie树)一:概念字典树是一种树形结构,用于存储一组字符串,支持快速的字符串查找和前缀匹配。字典树的本质是利用字符串之间的公共前缀,将具有相同前缀的字符串合并在一起,从而实现高效的字符串操作。数据结构字典树是一棵多叉树,每个节点包含若干个指向子节点的指针,每个节点代表一......
  • archery entered FATAL state, too many start retries too quickly
    #################################一、配置文件:supervisord.conf(venv)[root@wy3-db245archery]#catsupervisord.conf[unix_http_server]file=supervisor.sock[supervisord]logfile=logs/supervisord.lognodaemon=false[supervisorctl]serverurl=unix://supervisor.s......
  • archery entered FATAL state, too many start retries too quickly
    #################################一、配置文件:supervisord.conf(venv)[root@wy3-db245archery]#catsupervisord.conf[unix_http_server]file=supervisor.sock[supervisord]logfile=logs/supervisord.lognodaemon=false[supervisorctl]serverurl=unix://supervis......
  • Trie树
    Trie树Trie字符串统计维护一个字符串集合,支持两种操作:Ix向集合中插入一个字符串\(x\);Qx询问一个字符串在集合中出现了多少次。共有\(N\)个操作,所有输入的字符串总长度不超过\(10^5\),字符串仅包含小写英文字母。输入格式第一行包含整数\(N\),表示操作数。接下来......
  • Online Continual Learning with Maximally Interfered Retrieval---阅读笔记
    OnlineContinualLearningwithMaximallyInterferedRetrieval---阅读笔记摘要:本文主要提出了一种可控的样本采集策略的重放方法。我们检索受干扰最大的样本,即它们的预测将受到预测参数更新的最大负面影响。1Introduction人工神经网络在完成个体狭窄任务方面的性能已经超......
  • Cannot download Packages/expat-devel-2.2.5-4.el8.x86_64.rpm: All mirrors were tr
    错误原因从错误可以看出无法下载此包,因为所有镜像都已经尝试过了。可能是因为该软件包不再可用或镜像服务器当前不可用。解决方法因为CENTOS8自带rpm,所以就不需要下载rpm了。检查依赖包是否安装:(这步可忽略)rpm-qmakeautoconfautomakecmakeperl-CPANlibcurl-develli......
  • FOR ALL ENTRIES IN 与 INNER JOIN 内表
    1、区别FORALLENTRIESIN与INNERJOIN内表,目的都是通过内表找数据库表与之对应的数据,但是有区别。1.1、写法FORALLENTRIESIN"--------------------@斌将军--------------------SELECTacdoca~rldnr,"总账会计中的分类账acdoca~rbukrs,"公司代码acdo......
  • 修改头像,CreateModelMixin, RetrieveModelMixin, UpdateModelMixin内部的方法进行重写
    1.假设GET请求和POST请求,用的序列化类不一样,如何处理__ser.py 2.假设GET请求和POST请求,用的序列化类不一样,如何处理__views.py  3.假设GET请求和POST请求,用的序列化类不一样,如何处理总结  4.用户注册测试  5.查询用户名和用户头像  6.修改用户头像  7......
  • Centos7 中 关于 tcp_syn_retries
    设置地址:/proc/sys/net/ipv4/tcp_syn_retries默认设置成6,代表在syn请求超时的情况下重发6次,每次的等待时间为2^times ,即2s,4s,8s,16s,32s,64s(不计最初的请求的1s)所以syn的超时时间为2^retries+1  ......
  • Facebook 《Embedding-based Retrieval in Facebook Search》
    背景这是Facebook应用在社交搜索召回上的一篇论文,与传统搜索场景(google,bing)不同的是,fb这边通常需要更加考虑用户的一些画像,比如位置,社交关系等。举个例子:fb上有很多JohnSmith,但用户使用查询“JohnSmith”搜索的实际目标人很可能是他们的朋友或熟人。或者一个cs专业的学生,......