博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 3746 数据结构之KMP
阅读量:6180 次
发布时间:2019-06-21

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

题意:给T组数据,每组一个字符串,问最少加入多少个字符能够使这个串变成一个子串连续出现的串

思路:利用KMP的next数组进行变换,next数组保存的是眼下为止与字符串从头開始的匹配的程度,也能够看成从头開始的位置。所以假设Next数组最后一个为0,则须要在加入一个这种串才干匹配成功。不然ans=len-Next[len]代表的是不能匹配的后面的串的长度。假设这个长度能够被len取余,则说明这个串已经匹配好了,不然就是这个长度减去取余后的数

#include 
#include
#include
#include
#include
using namespace std;typedef long long ll;const int inf=0x3f3f3f3f;const int maxn=200010;const int mod=10007;char str1[maxn];int Next[maxn];void makenext(int m){ int i=0,j=-1; Next[i]=-1; while(i

转载地址:http://ivbda.baihongyu.com/

你可能感兴趣的文章
C#项目”XXXXX”针对的是”.NETFramework,Version=v4.7.1”但此计算机没有安装它
查看>>
基于swagger进行接口文档的编写
查看>>
如何用GO实现一个tail -f功能以及相应的思维发散
查看>>
SpringBoot系列: Pebble模板引擎
查看>>
如何清理Docker占用的磁盘空间?(转载)
查看>>
JS中的history对象
查看>>
compatible
查看>>
[转]PowerDesigner大小写转换
查看>>
使用docker 部署rabbitmq 镜像
查看>>
Eureka自我保护模式——难点重点
查看>>
Android 模拟器启动不了-问题解决方案
查看>>
硬盘分区表详解
查看>>
(原創) 數學就是loose coupling的極致表現 (OO)
查看>>
Visual Studio 2010 and the .NET Framework 4.0!
查看>>
Delphi使用zlib来压缩文件
查看>>
Linq 动态查询库
查看>>
javascript的fn方法(转)
查看>>
Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)
查看>>
Unity3D笔记 愤怒的小鸟<一>场景切换
查看>>
Oracle Client安装与基本配置
查看>>