博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法模板——哈希单模板字符串匹配
阅读量:5875 次
发布时间:2019-06-19

本文共 810 字,大约阅读时间需要 2 分钟。

实现功能:第一行输入模板串;第二行输入N;接下来N行每行一个字符串,将每个字符串中出现的模板串的起始位置找出

原理:字符串双值哈希啦啦啦,和KMP其实差不太多,但是字符串双值哈希绝对是个字符串题乱搞神器!!!

 

1 const pa=314159;pb=951413; 2 var 3    i,j,k,l,m,n:longint; 4    ap,bp:array[0..100000] of int64; 5    ma,mb,va,vb:int64; 6    s1,s2,s3:ansistring; 7 begin 8      ap[0]:=1;bp[0]:=1; 9      for i:=1 to 100000 do10          begin11               ap[i]:=(ap[i-1]*pa) mod pb;12               bp[i]:=(bp[i-1]*pb) mod pa;13          end;14      readln(s1);15      ma:=0;mb:=0;16      for i:=1 to length(s1) do17          begin18               ma:=(ma+ord(s1[i])*ap[i]) mod pb;19               mb:=(mb+ord(s1[i])*bp[i]) mod pa;20          end;21      readln(n);22      for j:=1 to n do23          begin24               readln(s2);25               if length(s2)

 

转载于:https://www.cnblogs.com/HansBug/p/4293577.html

你可能感兴趣的文章
【Android】8.4 让主题自适应不同的Android版本
查看>>
REST_FRAMEWORK加深记忆-三种CLASS VIEW的进化史
查看>>
HDU5280 Senior's Array(简单DP)
查看>>
mysql Access denied for user 'root'@'localhost' (using password: YES)
查看>>
VS2015 打开html 提示 未能完成操作 解决办法
查看>>
.NET-"/"应用程序中的服务器错误
查看>>
回击MLAA:NVIDIA FXAA抗锯齿性能实測、画质对照
查看>>
windows tomcat 优化
查看>>
给自定义cell赋值代码
查看>>
GCD
查看>>
linq 实现动态 orderby
查看>>
四版人民币补号大全
查看>>
言未及之而言,谓之躁;言及之而不言,谓之隐;未见颜色而言,谓之瞽(gǔ)...
查看>>
MYSQL查询一周内的数据(最近7天的)
查看>>
Redis的缓存策略和主键失效机制
查看>>
禁止body滚动允许div滚动防微信露底
查看>>
Xtreme8.0 - Kabloom dp
查看>>
jquery css3问卷答题卡翻页动画效果
查看>>
MDK5.00中*** error 65: access violation at 0xFFFFFFFC : no 'write' permission的一种解决方法
查看>>
Android 集成支付宝支付详解
查看>>