2022年2月11日

2023-05-16

P3375 【模板】KMP字符串匹配

题目描述

给出两个字符串 s_1s1​ 和 s_2s2​,若 s_1s1​ 的区间 [l, r][l,r] 子串与 s_2s2​ 完全相同,则称 s_2s2​ 在 s_1s1​ 中出现了,其出现位置为 ll。
现在请你求出 s_2s2​ 在 s_1s1​ 中所有出现的位置。

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

输入格式

第一行为一个字符串,即为 s_1s1​。
第二行为一个字符串,即为 s_2s2​。

输出格式

首先输出若干行,每行一个整数,按从小到大的顺序输出 s_2s2​ 在 s_1s1​ 中出现的位置。
最后一行输出 |s_2|∣s2​∣ 个整数,第 ii 个整数表示 s_2s2​ 的长度为 ii 的前缀的最长 border 长度。

输入输出样例

输入 #1复制


ABABABC
ABA
  

输出 #1复制


1
3
0 0 1 
  

说明/提示

样例 1 解释

对于 s_2s2​ 长度为 33 的前缀 ABA,字符串 A 既是其后缀也是其前缀,且是最长的,因此最长 border 长度为 11。

数据规模与约定

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

  • Subtask 1(30 points):|s_1| \leq 15∣s1​∣≤15,|s_2| \leq 5∣s2​∣≤5。
  • Subtask 2(40 points):|s_1| \leq 10^4∣s1​∣≤104,|s_2| \leq 10^2∣s2​∣≤102。
  • Subtask 3(30 points):无特殊约定。

对于全部的测试点,保证 1 \leq |s_1|,|s_2| \leq 10^61≤∣s1​∣,∣s2​∣≤106,s_1, s_2s1​,s2​ 中均只含大写英文字母。

学习了一下最短路,分为三种(Floyd-Warshall算法;dijstra算法;spfa算法) 主要学习了dj和spfa;

 先用dj;每一次的过程,都会确定一个不会变的点,在1-6中,1-1为0,1-2和1-4为5和3;其余的都先记成无穷大(无法直达);先记下0和3(小的),然后其余的不变,再从1-5,变为7,确定5,再从1-3.确定7,在确定1-3或者1-5中的一个7,最后确定1-3-6为13(还要再算一次1-5-6为15),比13大,更新为13;

spfa:    确定直达的,后面的未直达记为无穷,1(为0)出队列,2,4进,然后2出,3进,4出,5进,3出,6进;       

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2022年2月11日 的相关文章

  • 2022最新JSON解析计费系统扶风视频解析计费系统V1.8详解

    我个人认为扶风的计费会比云海的比较相对操作好上手 xff0c 且 bug 也少 xff0c 而且之前的之前的版本加载速度实在慢 xff0c 真心感人 扶风计费程序介绍 后台可对接多个专用 json 接口解析 xff0c 可以 m3u8 资源
  • 最新2022面试题(更新)

    前端是什么 xff1f 通常就是指网站前台部分 xff0c 通俗的讲就是用户可以看到的部分 主要用来通过前端技术完成页面设计 xff0c 界面制作 xff0c 用户交互等 HTML html界面的渲染过程 xff1a 1 首先是构建DOM树
  • 2022复盘&2023计划

    个人成长计划 2022复盘 自媒体 B站 4月10日成为UP主 发布了35个视频 播放量13 6w 累计直播431h 粉丝量1160 获赞量2058 公众号 1053关注 36篇内容 小红书 136粉丝 1167赞 知乎 85关注 48赞
  • Windows Server 2022 安装Intel I219V 服务器网卡

    随着Windows Server 2022发布 xff0c 目前我正对公司内的电脑新系统更新 在向一台主板是华硕B150M Plus的电脑时 xff0c 网卡识别不出 这正是Intel I219V 服务器版网卡 从Intel 官网下载了最新
  • 2022.9.17

    夜抚红烛垂泪 xff0c 才觉银月满身 若人若物若非故 xff0c 心无可期念无数 流水长东恨满怀 xff0c 人生常憾憾无穷 忽下眉梢 xff0c 又上心头 xff0c 如影相随 xff0c 何羡相思
  • 2022(招聘季)linux面试高频题

    大家好 xff0c 今天给大家分享一下2022最新最全的linux面试高频题 xff0c 希望你们喜欢 linux运维工程师在面试的时候经常会被问到各种问题 xff0c 接下来我也会根据自己的经验将面试题整理下来供大家参考 有不同见解的欢迎
  • Visual Stdio 2022 C语言源文件调试教程

    下面是一个简单的C语言程序 xff0c 我将以它为例说明如何进行VS2022调试 include lt stdio h gt int main int a b sum a float x y sum b scanf s 34 d d 34
  • 2022-10-13 js中数组删除对象

    JavaScript splice 方法 说明 xff1a splice 方法可删除从 index 处开始的零个或多个元素 xff0c 并且用参数列表中声明的一个或多个值来替换那些被删除的元素 数组 splice 数组索引下标 个数len
  • Transformer(李宏毅2022)

    本讲内容 xff1a Seq2seq model xff0c 以Transformer模型为例 xff08 Encoder Decoder架构 xff09 应用 xff1a 语音辨识 语音翻译 语音合成 聊天机器人 NLP 文法剖析 mul
  • 2022最新hexo最新搭建教程

    本文时间 xff1a 2022 02 03 安装包版本如下 xff1a NodejsLTS16 13 2 Git2 35 0 成果预览 故人随笔 nodejs安装 1 双击安装包 2 Next 3 修改安装目录为 D Develop nod
  • 【2022阿里灵犀互娱】游戏测开笔试AC_Code

    测开笔试 xff0c 90分钟 xff0c 3道编程题 43 八股 xff0c 第二题输出格式模拟题 xff0c 就不贴了 T1 进制转换 题意 有一个数 xff0c 可能是2 xff5e 16进制的其中之一 xff0c 算出所有可能的结果
  • 2022年度GitHub最火的力扣算法刷题宝典,手把手教你如何刷力扣~

    前言 昨晚逛了逛GitHub xff0c 无意中看到一位P8大佬的算法刷题笔记 xff0c 感觉发现了宝藏 xff01 有些小伙伴可能已经发现了 xff0c 但咱这里还是忍不住安利一波 xff0c 怕有些小伙伴没有看到 关于算法刷题的困惑和
  • 【2022_10_17】PX4学习

    commander cpp内 int Commander custom command int argc char argv 221行 该函数接受所有commander输入的参数 xff0c strcmp比较后调用不同的函数 strcmp返
  • 都2022年了,互联网与嵌入式怎么选?

    都2022年了 xff0c 互联网与嵌入式怎么选 xff1f 2022届应届毕业生前来作答一波 大家找工作最关心的还是薪资待遇问题 从今年的校招情况来看 xff0c 互联网中的算法岗是要高于嵌入式的 xff0c 而开发岗整体和嵌入式持平 从
  • 2022数学建模国赛B题和C题高质量论文代码数据

    目录 B题论文 5 1 问题一的建模与求解 5 1 1 使用极坐标求解具体位置 C题论文 1 1 研究背景 1 2 问题的提 5 1 问题一的建模与求解 5 1 1 数据的预处理 B题论文 5 1 问题一的建模与求解 5 1 1 使用极坐标
  • Visual Studio 2022 C++开发 (Win)配置教程

    前言 本文将讲解如何在Window系统下配置Visual Studio 2022版本的C 43 43 开发环境 步骤 下载并且安装Visual Studio Tools xff08 1 xff09 下载 Visual Studio Tool
  • 2022数学建模国赛B题思路分析

    分享一下 xff0c 仅供参考借鉴 xff0c 切勿直接使用 xff01 致谢一下全糖奶茶屋 xff01 一 问题重述 1 1 问题背景 由于无人机集群在遂行编队飞行时 应尽可能的避免外界干扰 因此需要尽可能的保持电磁静默减少电磁波信号的发
  • Microsoft Visual Studio C++2022 Windows 11 SDK环境

    Microsoft Visual Studio C 43 43 2022 Windows 11 SDK环境 1 安装2 环境变量本文为作者 难拳 原创 xff0c 转载请注明出处 1 安装 Visual Studio 2022适用于Wind
  • Visual Studio 2022下载安装

    Visual Studio 2022下载安装 1 进入官网 官网地址 xff1a https visualstudio microsoft com 这里以Windows操作系统为例 根据需要选择版本 xff0c 我这里下载的是Enterpr
  • 本地资源加载不了 file:// net::ERR_UNKNOWN_URL_SCHEME

    本地资源加载不了 file net ERR UNKNOWN URL SCHEME 解决 开发环境使用tsFile 生产环境使用file

随机推荐

  • Kali更新源

    若在apt get install update有报错的情况 xff1a 则需要更换kali的源了 更换方法 vim etc apt sources list d docker list 或 vim ect apt sources list
  • python使用pytesseract识别验证码的方法

    1 系统环境 OS X 10 7 MacBook Pro 13英寸 xff0c 2012年初期 Python 2 7 2 需要软件包 a 需要安装PIL以及pytesseract库 Python tesseract是一个基于google 3
  • WebService的简单案例记录(Java)

    关于WebService xff0c 工作关系 xff0c 断断续续有接触到一些 xff0c 写完就忘 xff0c 下次要写又不记得 所以做个简单的案例 xff0c 啥时候忘了能查一查 酱紫 xff0c 先大概讲一下我理解的WebServi
  • 阿里云使用之ECS安全组

    ECS是什么 云服务器 ECS是阿里云提供的云服务器 xff0c 是一种弹性可伸缩的计算服务 xff0c 助您降低 IT 成本 xff0c 提升运维效率 xff0c 使您更专注于核心业务创新 防火墙的痛点 由于使用了云服务 xff0c 随着
  • 在linux上安装CMake

    在linux上安装CMake 一 下载CMake安装包二 配置环境变量三 验证是否能执行CMake四 CMake官方文档 一 下载CMake安装包 本文演示环境为Linux系统 xff0c Redhat7 64位 CMake提供了两种安装方
  • Microsoft 365 E5 开发者如何添加新用户

    Microsoft 365 E5 开发者如何添加新用户 登录进入Microsoft 365 管理员中心 https admin microsoft com Adminportal Home source 61 applauncher hom
  • C++程序设计之兼谈对象模型

    前言 应具备的基础 是上一篇博文 面向对象程序设计 的续集本文将探讨上文未讨论的主题 目标 在先前培养正规 大器的编程素养上 xff0c 继续探讨更多技术 泛型编程 Generic Programming 和面向对象编程 Object Or
  • ImageMagick:png序列转gif(适合处理带透明度的图片)

    最近需要将几组png序列转成gif xff0c 之前有用过 Ulead GIF Animator 和 Photoshop xff0c Ulead GIF Animator 只有windows版 xff0c 这些年mac是主力机 xff0c
  • python爬虫学习:tesseract之实现图片里文字的识别

    目录 1 Tesseract基础1 1 Tesseract简介1 2 Tesseract安装1 3 Tesseract使用1 4 下载语言库 2 Tesseract在Python中的使用 1 Tesseract基础 1 1 Tesserac
  • VS2015 error MSB8020: The build tools for xxx

    问题 VS2015 error MSB8020 The build tools for xxx 问题截图 xff1a 解决方案 xff1a 平台工具集版本不正确 xff0c 更正一下即可 解决方案右键项目属性 gt gt 配置属性 gt g
  • FFmpeg 视频编码--------把 .rgb 变成 .mp4

    FFmpeg 视频编码 一 什么是视频编码 xff1f 视频编码的主要作用是将视频像素数据 xff08 RGB xff0c YUV等 xff09 压缩成为视频码流 xff0c 从而降低视频的数据量 如果视频不经过压缩编码的话 xff0c 体
  • ubuntu设置代理 的三种方式

    转载自 xff1a http www cnblogs com lexus archive 2012 02 20 2359229 html ubuntu下设置代理 2010 01 11 20 13 20 分类 xff1a ubuntu总结 标
  • win10 + WDK10+ VS2015 + vmware_win10 驱动开发环境配置

    自从WDK8 1后 xff0c 开发window 驱动不用再用windbg 43 虚拟机调试了 xff0c 我们调试驱动也可以像调试EXE 一样方便 xff0c 下面是win10 主机 43 WDK10 43 VS2015 43 vmwar
  • VS Code搭建PyQt5开发环境

    前言 二 PyQt5相关模块下载 1 利用Python的pip安装PyQt5和PyQt5 tools扩展包 2 VS code中安装PyQt Integration和Qt for Python 3 VS code中配置Qt designer
  • 解密微信电脑版image文件夹下缓存的用户图片

    我们的微信体积越来越大 xff0c 该怎样查看 xff1f 该怎样为其减肥哪 xff1f 重点来了 在微信缓存中 FileStorage 文件夹时发现了其目录下的 Image 文件夹 xff0c 可能是使用过程中缓存的聊天图片等 xff0c
  • 怎么寻找微信撤回的图片

    1 回顾 自从发布文章 寻找微信撤回的图片 之后 xff0c 骗了不少粉啊 总之 xff0c 之前提出了一种可以找到微信撤回图片的方法 2 真相 之前的说法是 xff0c 工程师并没有真正把撤回的图片删除 xff0c 而是加密后藏起来了 其
  • 电脑端微信文件的存储位置在哪?

    在微信聊天中会产生很多文件 xff0c 首先微信的文件存放位置 xff1a 默认情况下 c users administrator document wechat files xxx 以下所有文件截图都是从这个父级目录开始的 示例图 Bac
  • 微信的dat文件正确打开方式及问题处理

    微信的dat文件是微信用于缓存PC端微信的图片 xff0c 然后对图片进行了加密的处理 所以是可以删除的 xff0c 有些朋友data文件夹下有十几G的 xff0c 都是可以删除的 xff0c 但是最好确保这些文件都已经没有用处了再进行删除
  • 微信中的dat文件到底是什么

    微信dat文件是表示电脑上微信聊天记录数据文件 xff0c 可以选择删除 虽然删除这些文件并不会影响微信的正常使用 xff0c 但是如果需保留电脑端微信的聊天记录 xff0c 重要的材料则不要删除 微信 xff08 WeChat xff09
  • 2022年2月11日

    P3375 模板 KMP字符串匹配 题目描述 给出两个字符串 s 1s1 和 s 2s2 xff0c 若 s 1s1 的区间 l r l r 子串与 s 2s2 完全相同 xff0c 则称 s 2s2 在 s 1s1 中出现了 xff0c