详细介绍:P3375 【模板】KMP

news/2025/11/10 18:10:17/文章来源:https://www.cnblogs.com/gccbuaa/p/19207849

测试链接

题目描述

给出两个字符串 s 1 s_1 s1 s 2 s_2 s2,若 s 1 s_1 s1 的区间 [ l , r ] [l, r] [l,r] 子串与 s 2 s_2 s2 完全相同,则称 s 2 s_2 s2 s 1 s_1 s1 中出现了,其出现位置为 l l l
现在请你求出 s 2 s_2 s2 s 1 s_1 s1 中所有出现的位置。

定义一个字符串 s s s 的 border 为 s s s 的一个 s s s 本身的子串 t t t,满足 t t t 既是 s s s 的前缀,又是 s s s 的后缀。
对于 s 2 s_2 s2,你还需要求出对于其每个前缀 s ′ s' s 的最长 border t ′ t' t 的长度。

输入格式

第一行为一个字符串,即为 s 1 s_1 s1
第二行为一个字符串,即为 s 2 s_2 s2

输出格式

首先输出若干行,每行一个整数,按从小到大的顺序输出 s 2 s_2 s2 s 1 s_1 s1 中出现的位置。
最后一行输出 ∣ s 2 ∣ |s_2| s2 个整数,第 i i i 个整数表示 s 2 s_2 s2 的长度为 i i i 的前缀的最长 border 长度。

输入输出样例 #1

输入 #1

ABABABC
ABA

输出 #1

1
3
0 0 1

说明/提示

样例 1 解释

对于 s 2 s_2 s2 长度为 3 3 3 的前缀 ABA,字符串 A 既是其后缀也是其前缀,且是最长的,因此最长 border 长度为 1 1 1

数据规模与约定

本题采用多测试点捆绑测试,共有 4 个子任务

  • Subtask 0(30 points): ∣ s 1 ∣ ≤ 15 |s_1| \leq 15 s115 ∣ s 2 ∣ ≤ 5 |s_2| \leq 5 s25
  • Subtask 1(40 points): ∣ s 1 ∣ ≤ 1 0 4 |s_1| \leq 10^4 s1104 ∣ s 2 ∣ ≤ 1 0 2 |s_2| \leq 10^2 s2102
  • Subtask 2(30 points):无特殊约定。
  • Subtask 3(0 points):Hack。

对于全部的测试点,保证 1 ≤ ∣ s 1 ∣ , ∣ s 2 ∣ ≤ 1 0 6 1 \leq |s_1|,|s_2| \leq 10^6 1s1,s2106 s 1 , s 2 s_1, s_2 s1,s2 中均只含大写英文字母。

题解

#include 
using namespace std;
const int N=1e6+10;
typedef long long ll;
int n;
int kmp[N];
int la,lb,j;
char a[N];
char b[N];
void solve()
{cin>>a+1;cin>>b+1;j=0;int la = strlen(a+1);int lb = strlen(b+1);for(int i=2;i<=lb;i++){while(j&&b[j+1]!=b[i])j = kmp[j];if(b[j+1]==b[i])j++;kmp[i]=j;}j = 0;for(int i=1;i<=la;i++){while(j&&b[j+1]!=a[i])j=kmp[j];if(b[j+1]==a[i])j++;if(j==lb){cout<>t;while(t--){solve();}return 0;
}

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

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

相关文章

11月10号

今天进行了统一建模和数据结构的学习。 然后就进行了java中数据库和服务器的学习。

基于DP1323EL的电动车解锁方案:超高速读写,提升电动车一键解锁体验

电动车无钥匙解锁 在快节奏的都市生活中,电动车已成为许多人的首选出行工具。然而,传统的机械钥匙往往带来诸多不便:容易丢失、操作繁琐,甚至在雨天或匆忙时成为负担。 随着物联网和智能科技的快速发展,一键解…

最强LLM生成代码也会出错?

最强LLM生成代码也会出错?背景 大语言模型(LLM)在代码生成方面无疑取得了惊人的进步,早已成为许多开发者不可或缺的日常工具。从自动补全到生成完整函数,AI正在重塑软件开发的生态。但当这些先进的AI模型生成…

张量与向量

这个问题抓得很准,核心结论是:向量是张量的特殊形式(1维张量),张量是向量的“高维扩展”,二者是“特殊与一般”的关系,核心区别在于维度和数据承载能力。 ### 1. 定义与维度差异 - **向量**:严格来说是1维张量…

TCP的超时重传时间是如何计算的

以上仅供参考,如有疑问,留言联系

路径遍历漏洞实战指南:5种绕过技术与自动化测试

本文深入探讨路径遍历漏洞的原理、常见出现场景,并通过5个真实案例详细讲解不同防御机制的绕过技术,最后介绍使用Python自动化测试的方法和修复建议。路径遍历漏洞实战指南 当我刚开始学习Web安全时,路径遍历是那种…

实用指南:LLMs-from-scratch :KV 缓存

实用指南:LLMs-from-scratch :KV 缓存pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

前置和后置的区别

1、前置式返回的引用,效率会高一点 2、后置式返回的常对象,内部需要一个临时对象,效率相对低一些 备注: 1、前置式和后置式都没有参数,为了加以区分,再后置式增加int自变量,默认值为0 2、对于后置式返回常对象,…

2025年11月太阳能板/光伏板/电池板/单晶硅/多晶硅板前十厂家排名:深圳精益太阳能板领跑行业

文章摘要 本文基于2025年太阳能板行业发展趋势,分析了全球太阳能板市场的竞争格局,重点介绍了前十强品牌的排名、技术优势及服务特点。行业发展迅猛,高效、稳定、环保成为核心需求,本文提供详细排名和品牌信息,并…

TCP报文中的时间戳有什么作用

以上仅供参考,如有疑问,留言联系

响应式编程 - reactor 初识

Reactor 3 是一个围绕该规范构建的库,将响应式编程Reactive Streams范式引入JVM。 在本课程中,你将熟悉 Reactor API。那么,让我们快速介绍一下响应式流和响应式编程中更通用的概念。 package com.qinrenjihe;impor…

ubuntu16.04安装CUDA驱动 - 小

背景:项目需要使用PyTorch ,调用这两个命令nvidia-smi nvcc --version安装cuda,先安装显卡驱动 检查显卡型号:lspci | grep -i nvidia 01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce …

深入解析:统一高效图像生成与编辑!百度新加坡国立提出Query-Kontext,多项任务“反杀”专用模型

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

2025年11月太阳能板生产厂家排名前十榜单:深圳精益太阳能板引领行业

摘要 随着全球对可再生能源需求的增长,太阳能板行业在2025年持续创新与扩张。本文基于权威市场数据和行业报告,精选出前十名太阳能板生产厂家,重点推荐深圳精益太阳能板作为榜首。榜单结合技术参数、用户口碑和品牌…

reactor 初识

package com.qinrenjihe;import org.jspecify.annotations.NonNull; import reactor.core.publisher.Flux;public class Main {// 创建一个空的 Fluxstatic Flux<@NonNull String> emptyFlux() {return Flux.emp…

QOJ6608 Descent of Dragons

为什么这题放在了 NOIP T2?自闭了……修改只会使值从 \(x\) 变成 \(x+1\),这个对整体的值域变化是非常小的。 对于一个阈值 \(lim\),考虑 \(01\) 序列 \(A_{lim}\),\(A_{lim,i}=[a_i\ge lim]\)。 对于一次修改,实…

2026年HR 数字化转型趋势:AI如何帮助HR从招聘到绩效全流程人效提升 48%?

根据艾瑞咨询 2025 年《中国 HR SaaS 行业研究报告》显示,预计 2025 年国内 HR SaaS 市场规模将突破 240 亿元,其中 AI 技术贡献的价值占比超 60%。这一数据背后,是 AI 正在彻底重塑 HR 全价值链 —— 从招聘的简历…

Windows利用批处理脚本判断端口, 启动tomcat

以下是一个完整的 Windows 批处理脚本,用于检查指定端口是否被占用,并根据结果选择是否启动 Tomcat。如果端口被占用,还可以选择结束占用端口的进程,再启动 Tomcat。批处理脚本代码batch@echo off :: 设置需要检查…

2025最新实测对比:5款热门工程项目管理系统 协同能力与实用体验深度测评

最近花了两个月时间,我们把市面上主流的5款工程项目管理系统都实际用了一遍。 说实话,这个测评做得挺烧脑的,光是测试数据就整理了十几个G。今天就把最真实的体验分享给大家,希望能帮正在选型的工程公司少走点弯路…

2025年双轴拌馅机实力厂家权威推荐榜单:调味料拌馅机/酱菜搅拌机/翻斗式拌馅机源头厂家精选

在食品工业自动化升级与标准化生产需求持续增长的背景下,双轴拌馅机作为肉制品、酱菜、调味品等食品加工的核心设备,其搅拌均匀性与生产效率直接影响产品品质与生产成本。根据食品机械行业数据显示,全球食品搅拌设备…