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

Trie 树 算法实现 C++

一、题目描述

维护一个字符串集合,支持两种操作:

  • I x:向集合中插入一个字符串x
  • Q x:询问字符串x在集合中出现了多少次

共有N个操作,所有输入字符串的总长度不超过10^5,字符串仅包含小写英文字母。

输入格式

第一行包含整数N,表示操作数。

接下来N行,每行包含一个操作:

I x

或者:

Q x

输出格式

对于每个查询操作Q x,输出字符串x在集合中出现的次数。

每个结果占一行。

数据范围

1 ≤ N ≤ 2 × 10^4

输入样例

5 I abc Q abc Q ab I ab Q ab

输出样例

1 0 1

算法实现:

#include<iostream> using namespace std; const int N =100010; int son[N][26], idx, cnt[N]; char str[N]; 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]; } int main() { int n; cin>>n; while(n--) { char op[2]; cin>>op>>str; if(op[0]=='I') insert(str); if(op[0]=='Q') cout<<query(str)<<endl; } return 0; }
http://www.jsqmd.com/news/1272128/

相关文章:

  • Opus 5模型Conductor部署指南:性能接近Fable价格减半的AI推理优化
  • 企业AI落地痛点与JBoltAI解决方案
  • BBS (cute) 1.0.2靶场实战:从SQL注入到XSS的Web安全入门指南
  • 雷达多目标跟踪中的POMCPOW算法与MATLAB实现
  • 改进灰狼算法在无人机三维路径规划中的Matlab实现
  • OpenClaw开源运维工具:环境配置与自动化部署指南
  • C++占位符类型说明符:从auto到decltype(auto)的演进与实战指南
  • 基于YOLOv8的建筑渗漏智能检测系统开发实践
  • 谷歌Gemini 3 Pro多模态大模型技术解析
  • TI VPFE寄存器访问机制:影子与忙锁寄存器详解与嵌入式图像处理实战
  • Kali Linux下Aircrack-ng实战:从原理到实践的无线安全评估指南
  • 学术写作AI检测困境与百考通解决方案
  • 大模型训练全流程:从数据准备到部署优化
  • Nature子刊发表Pathology-CoT框架,可将医生的阅片习惯转为训练数据,完成数据集的高质量半自动化标注
  • 智能异常检测在金融监控中的实践与优化
  • 智能眼镜开发核心技术解析:双AI集成与9小时续航优化方案
  • 高并发UE像素流送云架构实战:从原理到部署优化
  • GWO优化LSSVM参数在工业预测中的应用实践
  • 氢-氨混合能源系统设计与Matlab优化建模实践
  • Linux页面置换算法详解与性能优化实践
  • Appium自动化性能测试:构建移动端CPU内存网络电量基线
  • InternVLA-A1框架:多模态机器人控制的端到端解决方案
  • LoRA与QLoRA:大模型高效微调的核心技术与实践
  • C2000 JTAG连接故障排查指南:从基础原理到实战解决
  • 深度信念网络优化:TTNRBO算法原理与实践
  • 低代码平台Mendix整合AI能力的实践与优化
  • 上门做饭服务怎么选?2026预约流程、费用边界与避坑清单
  • 强化学习在网络安全决策中的应用与优化
  • Metasploitable3靶机搭建与渗透测试实战指南
  • AI工具组合拳:高效完成软件工程毕业设计