hdu 2203 亲和串
把T串扩展成两倍 然后KMP 注意T的长度要大于P的长度
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std; char P[400005];
char T[400005];
int f[400005]; void getfail()
{
int m=strlen(P);
f[0]=0;f[1]=0;
for(int i=1;i<m;i++)
{
int j=f[i];
while(j&&P[i]!=P[j])j=f[j];
f[i+1]=P[i]==P[j]?j+1:0;
}
} bool find()
{
int n=strlen(T);
int m=strlen(P);
getfail();
int j=0;
for(int i=0;i<n;i++)
{
while(j&&P[j]!=T[i])j=f[j];
if(P[j]==T[i])j++;
if(j==m){/*printf("%d\n",i-m+1+1);*/return true;}
}
return false;
} int main()
{
while(scanf("%s%s",T,P)!=EOF)
{
int len=strlen(T); for(int i=len;i<len*2;i++)
{
T[i]=T[i-len];
} if(find() && strlen(T)/2>=strlen(P))printf("yes\n");
else printf("no\n");
}
return 0;
}
hdu 2203 亲和串的更多相关文章
- HDU 2203 亲和串(KMP)
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=2203 题目: 亲和串 Time Limit: 3000/1000 MS (Java/Others) ...
- hdu 2203:亲和串(水题,串的练习)
亲和串 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDOJ/HDU 2203 亲和串(简单的判断~Java的indexOf()方法秒)
Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现 ...
- hdu 2203亲和串 (kmp)
#include<cstdio>#include<iostream>#include<cstring>#include<string>using nam ...
- HUD 2203 亲和串
HUD 2203 亲和串 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768K (Java/Others) [题目描述 - ...
- HDOJ 2203 亲和串 【KMP】
HDOJ 2203 亲和串 [KMP] Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- hdoj 2203 亲和串
亲和串 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDU 2203 亲串(kmp)
Problem Description 随着人们年龄的增长更大,更聪明还是越大越愚蠢,这是一个值,相同的问题Eddy也一直在思考,由于他在非常小的时候就知道亲和串怎样推断了,可是发现,如今长大了却不知 ...
- HDU 2203 kmp
http://acm.hdu.edu.cn/showproblem.php?pid=2203 亲和串 Time Limit: 3000/1000 MS (Java/Others) Memory ...
随机推荐
- redhat 5 中文乱码及中文输入法解决方法
安装redhat时中文显示乱码(小方框)解决方法 在安装linux的时候,安装完了中文出现乱码或者是当时选错了选成了英文的,到时候中文显示乱码,下面说一下问题的解决: 在首次安装RHEL5时,如果选择 ...
- 用Backbone.js创建一个联系人管理系统(二)
欢迎大家回来继续这一教程,第一部分我们学习了model,collection和view在Backbone中的 基本用法,还有怎么样用主视图去绑定collection去渲染出每个Contact. 这部分 ...
- 递推 N循环问题
Description 我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如 ...
- 数据库 sql
近期项目中会用到oracle,mysql,两者的建表sql 类型,函数都会混淆.现在特意整理一下: mysql :now(), CONCAT("","",& ...
- 手拼Table 前台显示
一:前台 <table border=</table> 二:后台 //表头 public void TABTITLE() { TblList.Rows.Clear(); HtmlTa ...
- 关于java声明的一点杂感
从php这种弱类型的语言转到java,每次看到这种声明,一下子转不过弯来,总感觉很违和,最近思考了一下,有了点感悟 FileInputStream fileInputStream = new File ...
- python基础整理笔记(四)
一. python 打开文件的方法 1. python中使用open函数打开文件,需要设定的参数包括文件的路径和打开的模式.示例如下: f = open('a.txt', 'r+') 2. f为打开文 ...
- Common scenarios to avoid in OLTP
Database Design Rule Description Value Source Problem Description 1 High Frequency queries having a ...
- 编译生成.NET Core Framework遇到的问题
前两天在Windows Server 2012上编译生成.NET Core Framework的代码库corefx,遭遇了几个问题,在这篇博文中记录一下. 编译生成操作方法是在命令行(Develope ...
- C语言 线性表 顺序表结构 实现
一个能够自动扩容的顺序表 ArrList (GCC编译). #include <stdio.h> #include <stdlib.h> #include <string ...