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

P10470 前缀统计

点击查看代码
#include<bits/stdc++.h>using namespace std;const int N=1e6;
int n,m,idx;
int cnt[N];
char str[N];
int son[N][26];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]++;
}void query(char* str)
{int p=0;int ans=0;for(int i=0;str[i];i++){int u=str[i]-'a';if(!son[p][u]) break;p=son[p][u];ans+=cnt[p];}cout<<ans<<endl;
}int main()
{cin>>n>>m;while(n--){cin>>str;insert(str);}while(m--){cin>>str;query(str);}return 0;
}
依旧是简单的trie树模板,做出标记后查找即可,本题还深化了一点就是第一个p并不代表任何节点,也就是p=son【p】【u】才算是起点,可以把每次p=son【p】【u】看作是一个新节点,然后对这个节点进行操作即可
http://www.jsqmd.com/news/56211/

相关文章:

  • 天气+快递查询前端页面制作步骤(HTML,css)
  • U3D测试
  • AI硬件与芯片之争:从夸克眼镜到GPU通用性
  • 数据库故障的诊断方法与分析思路:实战经验总结
  • P4391 无线传输
  • 查看虚拟环境里安装了哪些包
  • 2025/11/29
  • 代码背后的哲学
  • 编程之外的修行
  • 2025/11/28
  • 《代码大全2》读书笔记4
  • 2025/11/30
  • カワキヲアメク
  • 《代码大全2》读书笔记5
  • 完整教程:第162期 自定义目标检测的 YOLO 微调完整指南
  • OpenCSG发布AgenticHub|一站式企业AI智能体平台
  • 读书笔记5
  • 完整教程:LeetCode 413 - 等差数列划分
  • 为什么在anacnda prompt里面运行了激活虚拟环境的命令,却还是没有切换成虚拟环境?
  • 在线调试+JMeter联动(以万维易源接口为例)
  • 征程 6 | QAT 新版 qconfig 量化模板使用教程
  • 计算机毕设java幼儿园校车管理高效的系统 基于Java的幼儿园校车信息管理系统设计与实现 Java环境下幼儿园校车运营管理平台开发
  • 在线调试+JMeter联动(以聚合数据快递接口为例)
  • 手艺文档搭建实战:基于PandaWiki的五步自动化方案
  • JMeter调用中国天气网接口查看天气预报
  • AI元人文构想:回应《自动驾驶技术的伦理认同与社会化应用治理》——规则库的范式分野与价值原语化的理论必然
  • NOIP 2025 游记 退役记 回忆录
  • ML - F1 score
  • 多模态技术深度探索:融合视觉与语言的AI新范式 - 详解
  • 多模态技术深度探索:融合视觉与语言的AI新范式 - 详解