2295: KMP模式匹配 一(串)

时间限制: 1 Sec  内存限制: 128 MB
提交: 210  解决: 97
[提交][状态][讨论版][命题人:外部导入]

题目描述

求子串的next值,用next数组存放,全部输出

输入

输入一个字符串

输出

输出所有next值

样例输入

abaabcac

样例输出

0 1 1 2 2 3 1 2
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 10010;
int len;
void getnext(char s[maxn], int next[maxn])
{
len = strlen(s);
int i = 0, j = -1;
next[0] = -1;
while(i < len)
{
if(j == -1 || s[i] == s[j])
{
i++;
j++;
next[i] = j;
}
else
j = next[j];
}
}
int main()
{
char a[maxn];
int next[maxn];
int i;
cin >> a;
len = strlen(a);
getnext(a, next);
for(i = 0; i < len - 1; ++i)
{
printf("%d ", next[i] + 1);
}
printf("%d", next[i] + 1);
return 0;
}

  

 

2295: KMP模式匹配 一(串)的更多相关文章

  1. YTU 2295: KMP模式匹配 一(串)

    2295: KMP模式匹配 一(串) 时间限制: 1 Sec  内存限制: 128 MB 提交: 32  解决: 22 题目描述 求子串的next值,用next数组存放,全部输出 输入 输入一个字符串 ...

  2. YTU 2297: KMP模式匹配 三(串)

    2297: KMP模式匹配 三(串) 时间限制: 1 Sec  内存限制: 128 MB 提交: 25  解决: 16 [提交][状态][讨论版] [Edit] [TestData] 题目描述 输入一 ...

  3. YTU 2296: KMP模式匹配 二(串)

    2296: KMP模式匹配 二(串) 时间限制: 1 Sec  内存限制: 128 MB 提交: 29  解决: 17 题目描述 输入一个主串和一个子串,用KMP进行匹配,问进行几趟匹配才成功,若没成 ...

  4. KMP算法 KMP模式匹配 一(串)

    A - KMP模式匹配 一(串) Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:131072KB  ...

  5. KMP模式匹配_2

    http://blog.csdn.net/lin_bei/article/details/1252686 三. 怎么求串的模式值next[n] 定义: (1)next[0]= -1 意义:任何串的第一 ...

  6. KMP模式匹配 三(弦)

    原文请訪问我的博客:xiaoshig.sinaapp.com KMP模式匹配 三(串) Time Limit:1000MS     Memory Limit:131072KB     64bit IO ...

  7. 字符串的朴素模式和KMP模式匹配

    先复习一下字符串指针: #include <iostream> #include <string.h> using namespace std; int main() { ch ...

  8. 利用KMP算法解决串的模式匹配问题(c++) -- 数据结构

    题目: 7-1 串的模式匹配 (30 分) 给定一个主串S(长度<=10^6)和一个模式T(长度<=10^5),要求在主串S中找出与模式T相匹配的子串,返回相匹配的子串中的第一个字符在主串 ...

  9. (原创)数据结构之利用KMP算法解决串的模式匹配问题

      给定一个主串S(长度<=10^6)和一个模式T(长度<=10^5),要求在主串S中找出与模式T相匹配的子串,返回相匹配的子串中的第一个字符在主串S中出现的位置. 输入格式: 输入有两行 ...

随机推荐

  1. python练习六十八:字符串练习

    题目:一个商城在搞抽奖的活动,需要在搞活动的宣传单上印刷优惠卷的验证码,验证码规定20位,生成100个 先来个简单的,20位码中只取数字 import random def num_1(num): l ...

  2. nc工具详解

    nc 安装    yum install -y nc参数: Command Summary: - Use IPv4 - Use IPv6 -D Enable the debug socket opti ...

  3. PHP、thinkPHP5.0开发网站文件管理功能(三)重命名文件

    public function renames(){ if(request()->isAjax()){ $file = iconv('UTF-8','GB2312',urldecode(inpu ...

  4. js 实现继承的几种方式

    //js中实现继承的几种方式 //实现继承首先要有一个父类,先创造一个动物的父类 function Animal(name){ this.name = name; this.shoot = funct ...

  5. 24-----BBS论坛

    BBS论坛(二十四) 24.1.编辑板块 cms/js/banners.js $(function () { $('.edit-board-btn').click(function () { var ...

  6. spring boot——关于一个Mysql主键的问题

    问题是这样的: 我现在有一个被@Entity标记的类TimeLine,其中id为主键. TimeLineController中有一个接收post请求的add()方法,这个方法会接受客户端传来的一个表单 ...

  7. 单例模式+volatile禁止指令重排序

    单例模式: 单例,顾名思义就是只能有一个.不能再出现第二个.就如同地球上没有两片一模一样的树叶一样. 在这里就是说:一个类只能有一个实例,并且整个项目系统都能访问该实例. 单例模式共分为两大类: 懒汉 ...

  8. 移动测试之appium+python 导出报告(六)

    下载 HTMLTestRunner.py python3可以参考这个地址 这是针对Python2.7版本 test.py from appium import webdriver import tim ...

  9. 获取url传的参数转变为对象的方法

    function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new O ...

  10. NGINX编译选项

    一.减小编译后的文件大小Nginx源码文件解压后,找到auto/cc/gcc文件,注释或删除:# debugCFLAGS= "CFLAGS -g"即可取消debug模式.二:为特定 ...