首页 > 其他分享 >字典树模板

字典树模板

时间:2024-05-16 21:19:14浏览次数:15  
标签:ch return int tir son now 模板 字典

码:

点击查看代码
struct Node{
    bool isend;
    int son[26];
    int num;
}tir[N];

int tircnt = 1;
void tir_insert(string s){
    int now = 0;
    for(int i = 0; i < s.size(); i++){
        int ch = s[i] - 'a';
        if(tir[now].son[ch] == 0)
            tir[now].son[ch] = tircnt++;
        now = tir[now].son[ch];
        tir[now].num++;
        if(i == s.size() - 1) tir[now].isend = true;
    }
}
int tir_find(string s){
    int now = 0;
    for(int i = 0; i < s.size(); i++){
        int ch = s[i] - 'a';
        if(tir[now].son[ch] == 0) return 0;
        now = t[now].son[ch];
    }
    if(!tir[now].isend) return 0;
    if(tir[now].num == 0) return 0;

    return 1;
}
第一次知道字典树是在大一下,当时被线段树,树状数组摧残的根本不敢直视一颗新种的 **树** 但这是后续字符串数据结构的基石,我可以走多远呢

标签:ch,return,int,tir,son,now,模板,字典
From: https://www.cnblogs.com/9102qyy/p/18196749

相关文章

  • 【字典树】【TRIE】
    本质最多有二十六个节点的树(假设只看小写英文字母)。空间换时间nex[p]是一个节点,根据c的取值最多有26个分支,nex[p][c]存的是下一个节点有意思的情况:为什么Trie的树用数组实现,二叉树用指针实现:当创建和使用Trie树时,以下是一般的步骤和操作:创建Trie树的节点结构:通常使用一个......
  • 逆向 | 驱动IRP通信模板
    逆向|驱动IRP通信模板踩了很多坑,比如说IoCreateDevice以后要删除,符号链接也要在卸载的时候删除啥的。反正存个模板在这儿下次就能套了:#include<ntddk.h>#include<stdio.h>#include<stdlib.h>//0-2047是保留的,可以用2048-4095#defineOPER1CTL_CODE(FILE_DEVICE_UN......
  • 微信开发-主动推送模板消息给特定用户
    其实也比较简单,设置模板后推送即可,具体官方说明文档如下:接口调用请求说明http请求方式:POSThttps://api.weixin.qq.com/cgi-bin/template/del_private_template?access_token=ACCESS_TOKENPOST数据说明如下:{"template_id":"Dyvp3-Ff0cnail_CDSzk1fIc6-9lOkxsQE7ex......
  • 简易首页防暴力-字典计时器
        有时候首页需要限制下相同账号的错误登录次数,防止暴力破解,实际而言,还是有一点点作用,虽然并不是很大,一定层度上也能扼杀一番,主要是调整起来方便,对于老旧系统改造起来比较快,核心是字典,一个记录失败次数,一个记录账号解锁的时间,在账号登录时先去字典里面校验,不用频繁的请求......
  • C++模板编程-enable_if
    std::enable_if的使用对于重载的函数或者函数模板的选择上,编译器内部有一个自己的规则,并不是简单粗暴的对函数就优先选择,对函数模板就靠后选择替换失败并不是一个错误(SFINAE):SubstitutionFailureIsNotAnError,SFINAE看成是C++语言的一种特性或者说一种模板设计中要遵循的......
  • ansible自定义模板部署apache服务
    使用Ansible来部署Apache服务是一个很好的选择,因为它可以自动化部署过程,确保所有的服务器上都有相同的配置。以下是一个简单的步骤指南,展示如何使用Ansible来部署Apache服务:1创建角色目录首先,在/etc/ansible/roles下创建apache目录:mkdir-p/etc/ansible/roles/apache2......
  • Ubuntu 24.04 LTS x86_64 OVF (sysin) - VMware 虚拟机模板
    Ubuntu24.04LTSx86_64OVF(sysin)-VMware虚拟机模板Ubuntu24.04LTS(GNU/Linux6.8.0-31-genericx86_64)请访问原文链接:Ubuntu24.04LTSx86_64OVF(sysin)-VMware虚拟机模板,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgUbuntu24.04LTS(GNU/Li......
  • Rocky Linux 9.3 x86_64 OVF (sysin) - VMware 虚拟机模板
    RockyLinux9.3x86_64OVF(sysin)-VMware虚拟机模板以社区方式驱动的企业Linux,RHEL100%1:1兼容免费发行版请访问原文链接:RockyLinux9x86_64OVF(sysin)-VMware虚拟机模板,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgRockyLinux9.3(5.14.0-36......
  • P3366 【模板】最小生成树
    链接:https://www.luogu.com.cn/problem/P3366模板题:kruskal代码:核心是对边的排序,遍历,选择。#include<iostream>#include<vector>#include<algorithm>#include<math.h>#include<sstream>#include<string>#include<string.h>#include<......
  • 【django学习-28】列表界面模板下载与上传文件
    前言,我们在实际项目开发过程中,经常有列表界面,有上传功能,并且支持先下载模板,后上传1.实现效果与前端展示<formmethod="post"enctype="multipart/form-data"action="/depart/multi/">{%csrf_token%}<divclass="form-group"><inputtyp......