题目描述
给定N个字符串S_{1},S_{2}...S_{n}S1​,S2​...Sn​ ,接下来进行M次询问,每次询问给定一个字符串T,求S1~Sn 中有多少个字符串是T的前缀。输入字符串的总长度不超过10^6 ,仅包含小写字母。

输入描述:
第一行两个整数N,M。接下来N行每行一个字符串Si。接下来M行每行一个字符串表示询问。

输出描述:
对于每个询问,输出一个整数表示答案

思路
一看到字符串的前缀,我们就应该想到字典树,和字典一样的前缀树.这道题是字典树很经典的一道题也没什么好说的。

完整C++版AC代码

#include <iostream>
#include <algorithm>using namespace std;const int N = 1000010;int n,m;
int son[N][26], cnt[N], idx;
char str[N];void insert() {int p = 0;for (int i = 0; str[i]; i++) {int s = str[i] - 'a';if (!son[p][s]) son[p][s] = ++idx;p = son[p][s];}cnt[p]++;
}int search() {int p = 0, ans = 0;for (int i = 0; str[i]; i++) {int s = str[i] - 'a';if (!son[p][s]) break;p = son[p][s];ans += cnt[p];}return ans;
}int main() {ios::sync_with_stdio;cin >> n >> m;while (n--) {cin >> str;insert();}while (m--) {cin >> str;int ans = search();cout << ans << endl;}return 0;
}

转载于:https://www.cnblogs.com/Mashiro-zBlog/p/11433436.html

题解|《算法竞赛进阶指南》 前缀统计相关推荐

  1. 《算法竞赛进阶指南(by 李煜东)》习题题解 集合

    又是笔者给自己挖的大坑. 这里是李煜东所著<算法竞赛进阶指南(by 李煜东)>的习题题解集合. 有任何错误请在对应文章下反馈或联系 nicest1919@163.com ,谢谢 qwq 从 ...

  2. 中位数--《算法竞赛进阶指南》(货仓选址和七夕祭问题详解)

    中位数 今天又和大家见面了啦~ 依旧是 <算法竞赛进阶指南>的学习哦~ 中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本.种群或概 ...

  3. AcWing 122. 糖果传递【贪心】【《算法竞赛进阶指南》,微软面试题 , HAOI2008】

    AcWing 122. 糖果传递 一.题目链接 二.题目分析 (一)算法标签 (二)解题思路 三.AC代码 四.其它题解 一.题目链接 AcWing 122. 糖果传递 进阶题目 AcWing 105 ...

  4. 《算法竞赛进阶指南》打卡-基本算法-AcWing 93. 递归实现组合型枚举:递归与递推、dfs、状态压缩

    文章目录 题目解答 题目链接 题目解答 分析: 此题和笔者另一篇博文很像,只不过是限定了个数.<算法竞赛进阶指南>打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归.二进 ...

  5. 《算法竞赛进阶指南》数论篇

    <算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSGS <算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSG ...

  6. CH5202 自然数拆分Lunatic版(算法竞赛进阶指南,完全背包)

    算法竞赛进阶指南,278页,完全背包 本题要点: 1.把完全背包的代码改改即可.常规的完全背包: 有n个物品,每个物品的体积是v[i], 价值是w[i], 求装到大小为m的大背包,能获得的最大价值(每 ...

  7. 金字塔(算法竞赛进阶指南)

    虽然探索金字塔是极其老套的剧情,但是有一队探险家还是到了某金字塔脚下. 经过多年的研究,科学家对这座金字塔的内部结构已经有所了解. 首先,金字塔由若干房间组成,房间之间连有通道. 如果把房间看作节点, ...

  8. 算法竞赛进阶指南 骑士放置

    4: 最大独立集 :选出最多的点,使得选出的点之间没有边. 求最大独立集:选出最小的点可以破坏所有的边 <==>最小点覆盖 <==>最大匹配数. 假设最大匹配数为m,共有n个点 ...

  9. 算法竞赛进阶指南 萌新入门!

    算法竞赛进阶指南 文章目录 算法竞赛进阶指南 前言 一.介绍本书 二.如何阅读本书 三.总结 **笔记思路和结构 ** 算法竞赛进阶指南 这篇文章就简单的写一下吧! 前言 ​ 作为一个想要入坑的算法的 ...

  10. 算法竞赛进阶指南0x3A 博弈论之SG函数

    算法竞赛进阶指南0x3A 博弈论之SG函数

最新文章

  1. 微软表示Edge的性能更优于Chrome和Firefox
  2. windbg设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
  3. synchronized锁的基本用法
  4. php mysql 数据回滚,PHP mysql事务回滚操作实例_PHP教程
  5. 常哥带你认识NoSQL和Redis的强大
  6. 体验VSTS源代码管理之一
  7. spring mvc学习(42):restful的编辑功能实现
  8. python题型大全_python进阶:练习题 汇总
  9. var radioname = new array();_体坛观察丨争议判罚不止中超 为何VAR屡成足坛焦点?_足球...
  10. 异常问题解决Error:Execution failed for task ‘:app:processDebugManifest‘
  11. python 判断是否有某个属性_用Python怎么判断是否闰年?
  12. android升级mcu升级,车载mcu需要升级吗_车载mcu升级有什么用
  13. GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm),类似刀具补偿
  14. 前端大文件下载(带进度条)
  15. Java编程那些事儿
  16. 【Python打卡2019】20190406之货币兑换
  17. 单位调岗不能正常主张的原因解析
  18. jntoo.php,admin/website.php · 曹琪/shufadasai-englishi - Gitee.com
  19. mysql telnet无法打开主机连接_求助:不能打开主机连接,在端口 3306: 连接失败...
  20. 穿越火线枪战王者服务器维护,CF手游体验服6.10更新维护公告 六月版本来袭

热门文章

  1. ws550 第三方固件_华为WS550固件升级 华为WS550固件下载-192路由网
  2. 【SAS】学习笔记——索引(index)篇
  3. Android图片圆形和矩形截图功能
  4. 微信小程序的自定义组件(2)
  5. 2022-2027年中国灭火器行业市场调查研究及投资战略研究报告
  6. 上海哪里有学陈氏太极拳?
  7. TL-WR886N刷OpenWRT(明月大神编译)无线发现不了----正确无线设置
  8. 阿里新成员「瓴羊」正式亮相,由阿里副总裁朋新宇带队,集结多个核心部门技术团队
  9. 用html标记语言写咏鹅,小班语言活动《咏鹅》
  10. 椒图加固软件linux说明书,【椒图科技】Linux内核调试器 - 安全牛课堂 - 领先的信息安全在线教育平台...