当前位置: 首页 > news >正文

033.字典树

模板

luogu P8306

支持API:

  • insert(word) 添加单词

  • search(word) 查询单词出现了几次

  • prefixNumber(pre) 查询前缀

  • deletd(word) 删除单词,若不存在则无事发生

  • clean() 初始化

下面是一个仅支持数字,大、小写英文字母的实现

#include<iostream>
#include<cstring>
using namespace std;
const int N=1e7+5;
struct Trie{private:int T[N][26+26+10];int pass[N];int end[N];int cnt=1;public:int getnex(char x){if(x>='0'&&x<='9')return x-'0';if(x>='a'&&x<='z')return x-'a'+10;return x-'A'+36;}void insert(string word){int cur=1;pass[cur]++;for(char x:word){int nex=getnex(x);if(T[cur][nex]==0){T[cur][nex]=++cnt;}cur=T[cur][nex];pass[cur]++;}end[cur]++;}int search(string word){int cur=1;for(char x:word){int nex=getnex(x);if(T[cur][nex]==0)return 0;cur=T[cur][nex];}return end[cur];}int prefixNumber(string pre){int cur=1;for(char x:pre){int nex=getnex(x);if(T[cur][nex]==0)return 0;cur=T[cur][nex];}return pass[cur];}void deletd(string word){if(search(word)==0)return;int cur=1;for(char x:word){int nex=getnex(x);if(--pass[T[cur][nex]]==0){T[cur][nex]=0;return;}cur=T[cur][nex];}end[cur]--;}void clean(){for(int i=1;i<=cnt;++i){pass[i]=0;end[i]=0;memset(T[i],0,sizeof(T[0]));}cnt=1;}
}ct;
http://www.jsqmd.com/news/187365/

相关文章:

  • 技术先进才靠谱!全自动清洗消毒机(医用 + 便盆款)知名企业实力排行 - 品牌推荐大师1
  • 学习记录15
  • 你还在写运行时逻辑?C++26 constexpr变量已支持动态初始化!
  • lora-scripts训练失败怎么办?常见问题排查与显存溢出解决方案汇总
  • 【C++26并发编程重大突破】:深度解析std::future取消机制设计原理与应用
  • 法律文书智能生成:基于lora-scripts训练合同起草专用LoRA
  • 定制复古街道场景AI绘图模型——基于lora-scripts的实践案例分享
  • CPU亲和性在C++26中的变革,如何避免兼容性陷阱?
  • 【下一代C++开发必读】:C++26 CPU亲和性设计模式与迁移策略
  • 【Linux底层开发进阶指南】:GCC 14对RISC-V架构支持带来的革命性影响
  • 跨境支付说明文档:解决资金流转疑虑的解释
  • C++网络模块卡顿频发?立即排查这4个性能雷区
  • GCC 14正式支持C++23关键特性:开发者必须了解的7个编译器升级亮点
  • 美妆博主内容升级:个性化口红色号AI试妆图一键生成
  • 高效低耗:消费级显卡RTX 3090运行lora-scripts完成大模型LoRA微调实测
  • LUT调色包下载后怎么用?配合lora-scripts打造影视级AI调色模型
  • 揭秘C++26 std::future取消功能:如何优雅终止异步任务?
  • 【Java毕设源码分享】基于springboot+vue的航空票务管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 仅1%工程师知道的C++物理引擎加速技巧,让你的模拟快如闪电
  • 基于lora-scripts的LoRA微调实战:从零开始训练专属赛博朋克风格AI画风
  • 学习记录7
  • 一键启动训练:lora-scripts中train.py脚本参数详解与最佳实践
  • PyCharm激活码永不过期?不!但你可以免费使用lora-scripts做AI开发
  • 非遗文化传承新方式:用lora-scripts保存并传播传统绘画技艺
  • 【Java毕设全套源码+文档】基于springboot的航空票务管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 学习记录14
  • Windows系统下安装lora-scripts全过程记录(含Conda环境配置)
  • 【Java毕设源码分享】基于springboot+vue的教学管理平台的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 科技赋能校园保洁:绍兴中专C150驾驶式扫地机助力智慧校园建设
  • 营销文案自动生成不再是梦:lora-scripts话术定制LoRA实战演示