E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
POJ2406
Power Strings(字符串的n次方)
poj2406
题目大意:给出一个字符串,求出是某个字符串的n次方 解决:KMP找出字符串的循环节 若有字符串ai...a(j+m),若next[len+1]=m(字符串从1开始),意味着从ai
·
2015-10-31 10:30
String
poj2406
(kmp循环节)
http://acm.hust.edu.cn:8080/judge/problem/viewProblem.action?id=10758 思路:KMP,next表示模式串如果第i位(设str[0]为第0位)与文本串第j位不匹配则要回到第next[i]位继续与文本串第j位匹配。则模式串第1位到next[n]与模式串第n-next[n]位到n位是匹配的。所以思路和上面一样,如果n%(n-next[
·
2015-10-31 09:44
poj
poj2406
简单题 #include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> using namespace std; #define maxn 1000005 char st[maxn]; int len; bool ok(int
·
2015-10-31 08:16
poj
POJ2406
Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 23530 Accepted: 9880 Description Given two strings a and b we define a*b to
·
2015-10-30 14:25
poj
poj2406
Power Strings
题意:给一个字符串,找到循环节的数目。思路:由kmp算法,next[len]知道前缀的第一个到第next[len]与后缀第len-next[len]到最后一个是相同的,如果这个字符串是循环节构成,那么len-next[len]一定是最短的循环节的长度。于是判断这个字符串是否有循环节的条件就是len%(len-next[len])==0,求出循环节的长度,总长度比上循环节长度就是个数。#includ
yexiaohhjk
·
2015-09-24 17:00
KMP
KMP求循环节问题
poj2406
poj1961求一个一直字符串最小循环节,有一种做法就是:len=strlen(p);最多循环次数,ans=len/(len-next[len])最小循环节,len-next[len]其他的循环节
u014451076
·
2015-08-09 12:00
KMP
poj2406
Power Strings
DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwethinkofconcatenationasmultiplication,exponentiationbyanon-negativeintegerisdefinedin
Kirito_Acmer
·
2015-06-14 09:00
KMP
POJ2406
:Power Strings(后缀数组DC3)
DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwethinkofconcatenationasmultiplication,exponentiationbyanon-negativeintegerisdefinedin
libin56842
·
2015-06-01 14:00
poj
后缀数组
POJ2406
Power Strings KMP-next数组的循环节
题目大意:给定一个字符串,让你找出该字符串的最大循环节。分析:next数组的循环节问题。一开始我是暴力next数组的每一个值,找出其中满足循环的最大值,后来发现这样做不可行,因为对于aaaaaab这个字符串来说,他的循环节很明显为1,但aaaaaa这个子串的循环节是6,所以找出整个next数组的最大循环节就出错了。其实我们只需找出next[len]这一个值的循环节即可,因为这是个后缀,和这个后缀相
AC_Gibson
·
2015-04-23 20:00
Poj2406
【KMP】
PowerStringsTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 33595 Accepted: 13956DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".
u014641529
·
2014-12-01 12:00
c
poj2406
Power Strings (KMP)
这题跟HDU1358Period(KMP)差不多,稍微修改代码就行了。关于KMP的更多知识,请关注从头到尾彻底理解KMP(2014年8月4日版)。#include #include intn,next[1000000]; charp[1000000]; voidgetnext() { intk=0,j=1; next[0]=-1;next[1]=0; while(j1)printf("%d\n",
yzj577
·
2014-08-06 14:00
C++
算法
字符串
KMP
poj
POJ2406
Power Strings 【KMP】
PowerStringsTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 31388 Accepted: 13074DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".
u012846486
·
2014-07-18 14:00
POJ2406
poj2406
Power Strings(最大重复子串)
K- PowerStringsTimeLimit:3000MS MemoryLimit:65536KB 64bitIOFormat:%I64d&%I64uSubmit StatusDescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b
u014569598
·
2014-07-04 08:00
KMP算法、next数组与前缀中的周期(相关题目:Power strings,
poj2406
)
在一个大的字符串S中查找字符串T,naive的算法时间复杂度为O(s*t)(这里s与t代表S的长度与T的长度);而应用KMP,时间复杂度为O(s+t)。KMP算法的核心在于next数组。next数组只与字符串T有关,与S无关。next数组的核心思想是存储字符串T的内容的相似性信息,具体而言:next数组记录了T的每一个前缀子串M(m>=2)中,(M的)相等的前缀真子串与后缀真子串的最大长度。换句话
mach7
·
2014-02-26 13:00
字符串匹配
KMP
OpenJudge
next数组
前缀中的周期
poj 1961 Period(KMP)
比如aabaabaabaab,长度为12.到第二个a时,a出现2次,输出2.到第二个b时,aab出现了2次,输出2.到第三个b时,aab出现3次,输出3.到第四个b时,aab出现4次,输出4.做了
poj2406
u013081425
·
2014-02-13 21:00
KMP
poj2406
Power Strings
PowerStringsTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 28668 Accepted: 11976DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".
u010422038
·
2013-11-10 13:00
poj2406
Power Strings kmp
一个字符串可以由他的一个子串a重复n次得到,现在给一个长度不大于10^6的字符串,求最长n。 跟白书上的period(训练之南P213,例13)基本一样甚至还简单一点。核心就是利用KMP中的失配函数求最短循环节。可以得到对于字符串的第i位,若有i%(i-f[i])==0,则f[i]到i之间的部分及为这个串的最短循环节,具体画个图,或者参考白书上的图,很容易就能看出来。 另
yanglei040
·
2013-09-29 19:00
poj2406
(KMP)
PowerStringsTimeLimit:3000MS MemoryLimit:65536KTotalSubmissions:27614 Accepted:11566DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwe
xj2419174554
·
2013-08-16 16:00
数据结构
字符串
KMP
Power Strings(
poj2406
,简单KMP)
http://poj.org/problem?id=2406http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?cid=5412&pid=1008&ojid=1PowerStringsTime Limit : 6000/3000ms (Java/Other) Memory Limit : 131072/65536K (Java/Ot
JHC23
·
2013-08-14 20:00
poj2406
之kmp应用
PowerStringsTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 26792 Accepted: 11211DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".
xingyeyongheng
·
2013-07-09 16:00
poj2406
找最小循环节
这题同hdu3746一样,都是通过KMP找到字符串的最小循环节。这题wa了一次,刚开始以为一定有len%(len-next[len-1])==0,后来证实是错的。如:ababa,按照之前的做法输出2,很显然n=1。#include #include #defineN1000005 chars[N]; intnext[N],len; voidgetnext() { inti,j; next[
HELLO_THERE
·
2013-03-16 18:00
poj2406
感悟:学习算法,不仅要学会其本身,自己还应该能扩展,要务实,不要急功近利。否则,会学的一塌糊涂。要求:求最小重复字串的个数,利用KMP算法的性质,求解。 #include #include #definemax1000000 intnext[max]; charstr1[max]; intget_next(char*pat) { intj=0,k=-1; intlen=strle
wahaha1_
·
2013-01-28 11:00
POJ2406
子串重复出现最大次数
此题与POJ1961思想完全一样。给定字符串s,要求找到子串p,使得s由多个p(大于等于1)连接而成,输出此时p的个数。若有多种可能,则输出最大的个数。类似于POJ1961,先构造next数组,然后直接使用n/(n-next[n])即可获得答案。n为字符串s的长度。#include #include #include usingnamespacestd; intNext[1000005]; ch
alongela
·
2012-11-18 19:00
poj 2406 Power Strings
点击打开链接
poj2406
思路:kmp+最小循环节分析:1题目要求的是给定一个字符串找到最小循环节的个数,但是这里有个限制的地方就是如果这个字符串不是刚好由n个最小循环节组成那么就认为一整串才是一个循环节
cgl1079743846
·
2012-10-28 21:00
【KMP】
poj2406
Power Strings
PowerStringshttp://poj.org/problem?id=2406DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwethinkofconcatenationasmultiplication,expon
ACM_Ted
·
2012-08-02 00:00
[KMP]poj 1961:Period
大致思路: 依旧是next数组的灵活运用,和
poj2406
差不多,在此不在赘述。
暴风雪
·
2012-01-28 02:00
数据结构
KMP
ACM
Period
poj 1961
POJ-3461 Oulipo
解题思路:这道题跟
POJ2406
有点相似,那道题是求abcabcabc,则就是3次。而这道题,abababa中aba出现了3次。
niushuai666
·
2011-11-14 21:00
POJ-1961 Period
aabaabaabaab,长度为12.到第二个a时,a出现2次,输出2.到第二个b时,aab出现了2次,输出2.到第三个b时,aab出现3次,输出3.到第四个b时,aab出现4次,输出4.解题思路:这道题好像就是
POJ2406
niushuai666
·
2011-11-14 10:00
poj2406
(kmp,后缀数组)
开始是用后缀数组做的,RMQ果断超了内存,全部改用unsignedshort结果又超时,后来参考了论文里的方法。 关键思想是设k为最小重复字符串的长度,则s[0,1……n-k-1]=s[k,k+1……n-1],即lcp(rank[0],rank[k])=n-k;由于0位置是固定的,只需要对名次循环求出最小的k就行!其复杂度为O(n),可是还是超时,因为后缀数组预处理的时间是n*log(n),
ysjjovo
·
2011-07-27 12:00
poj2406
Power Strings
PowerStringsTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 16472 Accepted: 6863DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".
shahdza
·
2011-04-05 22:00
String
String
Integer
Integer
input
output
concatenation
poj2406
——Power Strings
题意:给定一字符串T,T=A1*A2*A3...An,且A1=A2=...An,求n的最大值。 思路:利用next[]函数的关系求解。 ps:初涉KMP,还不是很了解,不多说,春节回来,再深入理解下。 #include<stdio.h> #include<string.h> #define maxn 1000008 char T[maxn]; int next[max
44424742
·
2011-01-20 15:00
J#
poj2406
解题报告
PowerStringsTimeLimit:3000MS MemoryLimit:65536KTotalSubmissions:13765 Accepted:5738DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwet
xinghongduo
·
2010-08-14 08:00
String
Integer
input
each
output
concatenation
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他