HDU 2087 剪花布条 KMP入门
abcde a3
aaaaaa aa
#
0
3
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s1[1005],s2[1005];
int next[1005];
void getnext(char *s2)
{
int i=0,j=-1;
next[0]=-1;
while(i<strlen(s2))
{
if(j==-1||s2[i]==s2[j])
{
i++;
j++;
if(s2[i]!=s2[j])
next[i]=j;
else
next[i]=next[j];
}
else
j=next[j];
}
}
int main()
{
int s,t1,t2;
while(scanf("%s",s1))
{
s=0;
if(s1[0]=='#'&&s1[1]=='\0')
break;
scanf("%s",s2);
t1=strlen(s1);
t2=strlen(s2);
getnext(s2); if(t2>t1)
{
cout<<0<<endl;
continue;
}
int i=0,j=0;
while(i<t1)
{
if(j==-1||s1[i]==s2[j])
{
i++;
j++;
}
else
j=next[j];
if(j==t2)
{
j=0;
s++;
}
}
cout<<s<<endl;
}
return 0;
}
作为模板吧。。
HDU 2087 剪花布条 KMP入门的更多相关文章
- hdu 2087 剪花布条 KMP多次匹配
剪花布条 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? I ...
- HDU 2087 剪花布条 KMP极其初级之入门题(KMP模板在这里)
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input ...
- HDU 2087 剪花布条 KMP
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2087 KMP匹配数—— AC代码: #include <iostream> #includ ...
- hdu 2087 剪花布条 kmp模板题
也是kuangbin专题的 专题名字太长 不复制了…… 刚好数据结构也学了kmp 找一道题敲敲模板…… 暴力的字符串匹配是O(n*m)的时间复杂度 而kmp通过一个O(m)的预处理将字符串匹配的时间复 ...
- hdu 2087剪花布条 (KMP入门 子串出现的次数和子串个数)
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- HDU——2087剪花布条
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 题解报告:hdu 2087 剪花布条(KMP入门)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面 ...
- 【HDU 2087 剪花布条】
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- hdu 2087剪花布条
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 思路:正常KMP求解aaaaaa aa得到的结果是6,这题是3.仅仅改一点代码就行 当匹配完之 ...
随机推荐
- Html页面操作json串
System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaSc ...
- python 发送安全邮件
用python 写了一个发送邮件的脚本,配上host 和端口,发现一直报错: smtplib.SMTPException: No suitable authentication method foun ...
- poj 3487 稳定婚姻
/** 稳定婚姻:男生不停的求婚,女生不停地拒绝 **/ #include <iostream> #include <queue> #include <cstdio> ...
- OSG中的智能指针
在OpenSceneGraph中,智能指针(Smart pointer)的概念指的是一种类的模板,它针对某一特定类型的对象(即Referenced类及其派生类)构建,提供了自己的管理模式,以避免因为用 ...
- FTL(Flash translation layer)闪存转换层
前面说过,闪存的读写单位为页,而页的大小一般为4KB或8KB,但我们的操作系统读写数据是按HDD的扇区尺寸进行的(512Byte(字节)),更麻烦的是闪存擦除以块作单位,而且未擦除就无法写入,这导致操 ...
- 电脑Win7如何取得文件管理所有权(提供各种GHOST版本的Windows)
电脑Windows7系统如何取得文件管理所有权?从 VISTA开始,微软对操作系统的安全性有了明显的提高,这样使得以前我们在XP下都可以打开或删除的文件(夹),无法在WIN7下进行操作.就算是在 Ad ...
- XmlDocument加载有Xmlns的xml文档,使用Xpath
using System; using System.IO; using System.Xml; public class Sample { public static void Main() { X ...
- jquery submit()不能提交表单的解决方法
<form id="form" method="get"> <input type="text" name="q ...
- 《windows程序设计》学习_3.3:利用xp扫雷资源
#include<windows.h> #include "resource.h" LRESULT CALLBACK WndProc (HWND, UINT, WPAR ...
- 1396 - Most Distant Point from the Sea
点击打开链接 题意: 按顺序给出一小岛(多边形)的点 求岛上某点离海最远的距离 解法: 不断的收缩多边形(求半平面交) 直到无限小 二分收缩的距离即可 如图 //大白p263 #include < ...