本人对KMP如何匹配到所有结果的算法存在一些疑惑...

本人对KMP如何匹配到所有结果的算法存在一些疑惑...

/*_ooOoo_o8888888o88" . "88(| -_- |)O\  =  /O____/`---'\____.'  \\|     |//  `./  \\|||  :  |||//  \/  _||||| -:- |||||-  \|   | \\\  -  /// |   || \_|  ''\---/''  |   |\  .-\__  `-`  ___/-. /___`. .'  /--.--\  `. . __."" '<  `.___\_<|>_/___.'  >'"".| | :  `- \`.;`\ _ /`;.`/ - ` : | |\  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^佛祖保佑       永无BUGwrittern-by:Tokisaki Kurumi   ( 时崎狂三 )
*/
#include <iostream>
#include <string>
#include <vector>
using namespace std;void GetNext(string s2, int *next)
{int i = 0, j = -1;next[0] = -1;while (i < (int)s2.length()){if (j == -1 || s2[i] == s2[j]){next[++i] = ++j;}else{j = next[j];}}
}void MultipleKMP(string s1, string s2, int *next, vector<int> &v)
{int i = 0, j = 0;while (i < (int)s1.length() && j < (int)s2.length()){if (j == -1 || s1[i] == s2[j]){i++;j++;}else{j = next[j];}if (j == (int)s2.length()){v.push_back(i - j);i = i - j + 1; // 网传这一步还可以写成next[j] ,事实也确实如此,但我理解不了其含义,因为next显然到不了[s2.length()]这个位置。j = 0;}}
}int main()
{int *next;string s1, s2;cin >> s1 >> s2;next = new int[s2.length() + 1];vector<int> v;GetNext(s2, next);MultipleKMP(s1, s2, next, v);for (int i : v){cout << i << " ";}cout << "\n";return 0;
}

 

就是我批注的这一步,我实在是不太理解...

 

OK,下面是占字数的小说,可以不看!!!

 

 

磁带转动时发出的沙沙声总是让周明感到一种奇异的安宁。这种老旧的媒介在数字音乐泛滥的今天已经很少有人问津,但正是这种复古感让他着迷。周明轻轻擦拭着刚从旧货市场淘来的Walkman随身听,这是他花了两百块钱从一个满脸皱纹的老人那里买来的,据说是九十年代的存货,从未拆封。

宿舍窗外下着小雨,潮湿的空气里弥漫着泥土的气息。周明看了看手表——下午三点二十分,室友们都去上课了,这正是一个安静听音乐的好时机。他从书包里掏出今天最大的收获:一盒没有标签的黑色录音带,外壳已经有些泛黄,边缘处有几道细微的裂痕。

"老板说这盒带子是随随身听一起的,不知道里面录了什么。"周明自言自语道,小心翼翼地将磁带放入随身听。他戴上耳机,按下播放键,等待了几秒钟后,一阵刺耳的电流杂音从耳机里炸开,吓得他差点把随身听扔出去。

杂音持续了大约十秒,然后突然停止了。接着,一个低沉而颤抖的男声从耳机里传来:

"如果有人听到这段录音...我不知道这盒带子最终会落到谁手里,但请听我说完..."

周明的手指僵在了暂停键上方。这不是他预想中的音乐,而似乎是某个人的独白。声音听起来很紧张,时不时被急促的呼吸声打断。

"我叫林森,林森。如果...如果我已经不在了,这段录音可能就是唯一能证明我曾经存在过的东西。"

窗外一道闪电划过,随即是一声闷雷。周明的后背窜上一阵凉意,他不由自主地调大了音量。

"我被困在这里已经...不知道多少天了。没有光,只有黑暗和老鼠的声音。他们每天只给我一顿饭,水也快喝完了..."

录音中传来金属碰撞的声响,像是有人在摇晃铁门。那个自称林森的男人声音变得更加急促:"他们来了!我得快点说...地下室的门,记住是左边第三个书架后面...钥匙在花盆底下...他们不会让我离开这里了..."

录音戛然而止,只剩下空转的磁带声。周明猛地按下停止键,宿舍里突然变得异常安静,只有他的心跳声在耳边咚咚作响。

"这到底是什么?"周明摘下耳机,盯着那盒磁带,仿佛它会突然咬他一口。他翻来覆去检查磁带外壳,希望能找到更多线索,但除了岁月留下的磨损痕迹外,什么也没有。

周明拿起手机,犹豫了一下,还是打开了搜索引擎,输入"林森 失踪"几个关键字。页面刷新后,几条新闻标题引起了他的注意:

《本市悬案:出版社编辑离奇失踪三年未破》 《警方称林森失踪案仍无线索,家属悬赏寻人》

周明点开第一条新闻,一张黑白照片映入眼帘——一个戴着眼镜、面容清瘦的年轻男子,正是新闻中报道的失踪者林森,三年前从家中离开上班后便再未出现。报道中提到,林森最后被监控拍到是在城西的一家咖啡馆外,之后便如人间蒸发一般。

"左边第三个书架...花盆底下的钥匙..."周明喃喃重复着录音中的线索,一种莫名的使命感在他心中升起。他看了看窗外渐暗的天色,雨下得更大了。

正当他准备进一步搜索时,手机突然震动起来,一个陌生号码出现在屏幕上。周明迟疑地接起电话,对方却沉默不语,只有细微的电流声从听筒中传来。

"喂?"周明问道。

电话那头依然没有回应,几秒钟后,通话被挂断了。周明盯着手机屏幕,一种被监视的异样感油然而生。他回头看向那盒静静躺在桌上的黑色录音带,突然意识到自己可能无意中卷入了一个危险的谜团之中。

窗外,雨点拍打玻璃的声音越来越急,像是某种不祥的预兆。周明小心地将录音带放入抽屉锁好,却不知道这个简单的动作,已经开启了一连串无法回头的事件...

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/946698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符与Java国际化编程

ASCII 美国信息交换标准代码 包含英语和西欧语言 GB2312 1980年提出,GBK 1995年提出 GB18030 2000年和2005年各有一个版本,主要表述汉字,包含的汉字越来越多 Unicode 字符集 ,目标包含所有的文字 实现方式主要是UT…

完整教程:京东100道GO面试题及参考答案(上)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Ubuntu 系统 /dev/sdb2(RAID 关联磁盘)挂载操作手册

一、磁盘核心信息梳理设备 容量 分区情况 状态 用途说明/dev/sda 446.63GiB /dev/sda1(512M,EFI 分区)、/dev/sda2(446.1G,Linux 分区) 已挂载(根目录 /) 系统盘,承载操作系统及核心文件/dev/sdb 1.75TiB /de…

2025 年 10 月厨房排烟、厨房排烟罩、厨房排烟系统厂家最新推荐,资质、案例、售后三维测评与选购指南

厨房排烟系统作为商用餐饮运营的核心基础设施,其性能直接关乎后厨环境安全与合规经营。据北京消防协会 2025 年行业报告显示,因安装不规范导致的排烟故障占厨房安全隐患总数的 62%,而中国质量协会数据表明,具备完善…

解决 Windows 下 Claude 通过 cmd/powershell 运行出错失去响应的问题

问题描述:Windows 下在终端中运行 Claude,如果尝试让它在磁盘中查找文件,很容易因为缺少 cgypath 导致 Claude 进程出错⎿ Error: Command failed: cygpath -u C:\Users\liutao\AppData\Local\Temp/usr/bin/bash: …

# Ubuntu 根目录空间扩展操作手册(基于 RAID 关联磁盘 /dev/sdb2)

核心结论 直接将 /dev/sdb2 挂载至根目录 / 风险极高,易导致系统崩溃,优先采用“LVM 逻辑卷扩容”(推荐)或“绑定挂载”方案,安全扩展根目录可用空间。 一、直接挂载根目录的风险警示根目录 / 包含 /etc(系统配置…

013的加密世界权威指南_第二部分

013的加密世界权威指南_第二部分前言 本文档是“013加密世界权威指南”系列的第二部分,聚焦于加密资产交易与去中心化金融(DeFi)的实践入门。内容涵盖顶级中心化交易所(CEX)的深度对比、交易费用机制的解析、去中心化…

Perplexity Comet AI浏览器「等待网络链接」解决方案

5步解决Perplexity Comet AI浏览器「等待网络链接」💻✨ 宝子们!是不是被Perplexity Comet AI浏览器的「等待网络链接」弹窗搞心态了?😭 试了N种方法都没用?别慌!亲测有效的5步解决方案来啦,跟着做秒搞定👇…

Redis 持久化 内存模型 - 指南

Redis 持久化 & 内存模型 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

25.10.25随笔NOIP模拟赛总结

考试 题好像很简单,优势在我(?)拿到题后一眼看出 T1,然后过到 T2,感觉是拆位啥的,继续看。T3 感觉是二分然后 dp 判断,然后 dp 感觉比较好做,T4 第一个想法就是先对每个点分类,然后去处理特殊的点,考虑一个…

新地球

是一种蓝色的哀愁 我醒在荒凉的地球 纽约在海底的角落 阳光把大地变沙漠 变了味道 人们才开始哀悼 讽刺的是空气很好 烟囱在 水里 无声 飘摇 没了情调 人们为三餐奔跑 一切的爱 恨 都在自寻烦恼 新地球 他们这么叫 脸上…

师生健康信息管理高效的系统|基于SpringBoot和Vue的师生健康信息管理系统(源码+数据库+文档)

师生健康信息管理高效的系统|基于SpringBoot和Vue的师生健康信息管理系统(源码+数据库+文档)2025-10-26 11:41 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !import…

详细介绍:在不同开发语言与场景下设计模式的使用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

手势检测(充满科技感) - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年 10 月商用厨房设备,酒店厨房设备,大型厨房设备厂家最新推荐,聚焦高端定制需求与全案交付能力

商用、酒店及大型厨房设备需适配多元化场景需求(如酒店宴会厨房、连锁餐饮中央厨房、大型企业食堂),高端定制能力与全案交付水平直接决定厨房运营效率与体验。据中国旅游饭店业协会 2025 年 10 月发布的《酒店厨房设…

zr模拟赛day8T2

正变换无法确定朝大还是朝小变换 考虑逆变换,因为逆变换只能是大减小 发现变成了辗转相减的形式 考虑优化成辗转相除 发现可以记录辗转相除中的每个关键点 记录成一个三元组 然后就发现可以二分查询了 有一个小细节是…

实用指南:Android 常见界面布局详解

实用指南:Android 常见界面布局详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

251026

目录JT-JY10T4S1-1JT-JY10T4S1-2 JT-JY10T4S1-1ThDks, good morning, is that Mr.ThDk? Speaking, how can i help? I have got quite few things which need painting and fixing in the flat, and i wonder whethe…

2025 年 10 月食堂厨房设备厂家最新推荐,聚焦资质、案例、售后的食堂场景深度解读

食堂厨房设备直接关系到师生、职工的饮食安全与就餐效率,其资质合规性、食堂场景适配性与售后保障能力尤为关键。据中国教育后勤协会 2025 年 10 月发布的《校园食堂设备质量报告》显示,26% 的食堂设备因资质不全存在…

Android下加载libUnreal.so文件

Android下加载libUnreal.so文件Android 下动态加载so库 具体有两种方式: (1)调用 load(String filename) 方法System.load("/data/data/com.example.mygame/files/libUnreal.so"); // 传递进去的是全路径…