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
数据结构与算法MOOC-第四章字符串练习题解析汇总
合格的字符串OpenJudge-合格的字符串2:去除C程序中的注释OpenJudge-去除C程序中的注释3:全在其中POJ938/UVA10340-AllinAll(全在其中)4:字符串乘方KMP-(
POJ2406
Cai-Crayon
·
2023-11-12 16:46
算法与数据结构MOOC
数据结构与算法MOOC
第四章字符串练习题解析汇总
#10044 「一本通 2.2 例 2」Power Strings(KMP)(内附封面)
题目描述原题来自:
POJ2406
给定若干个长度\le10^6的字符串,询问每个字符串最多是由多少个相同的子字符串重复连接而成的。如:ababab则最多有3个ab连接而成。
CH_canghan
·
2023-07-16 05:31
c++
算法
开发语言
poj2406
这个题就是用KMP算法的next数组求最小重复子串长度;这与我刚刚做的2185是一个思路;我也是应为理解那个题的解法才做这题;但是我到现在还是没有对算法正确性有很好的认识;姑且但结论记吧:对于代码中i-next[i]代表了字符串最小前缀且满足能不但的复制得到原字符串;len%(i-next[i])==0时代表字符串刚刚是子串的整数倍;若len%(i-next[i])==0匹配时每一次移动的距离i-
iwillsucceed555
·
2020-08-25 03:49
acm---字符串
算法
第2部分 字符串算法(提高篇)--第1章 哈希和哈希表1457:Power Strings
1457:PowerStrings时间限制:1000ms内存限制:65536KB提交数:1280通过数:515【题目描述】原题来自:
POJ2406
给定若干个长度≤106的字符串,询问每个字符串最多是由多少个相同的子字符串重复连接而成的
zqhf123
·
2020-08-25 00:02
信息学C++
一本通
哈希算法
第2部分 字符串算法(提高篇)--第2章 KMP算法1466:【例题2】Power Strings
1466:【例题2】PowerStrings时间限制:1000ms内存限制:65536KB提交数:1013通过数:497【题目描述】原题来自:
POJ2406
给定若干个长度≤10^6的字符串,询问每个字符串最多是由多少个相同的子字符串重复连接而成的
zqhf123
·
2020-08-25 00:02
信息学C++
一本通
1457:Power Strings
【题目描述】原题来自:
POJ2406
给定若干个长度≤106的字符串,询问每个字符串最多是由多少个相同的子字符串重复连接而成的。如:ababab则最多有3个ab连接而成。
patient 007
·
2020-08-24 23:56
#
ACM训练
#
哈希算法
KMP求最小重复子串的重复次数(
poj2406
)
#include#include#includeusingnamespacestd;intlen;intnext[1000005];chars[1000005];intkmp_next(){inti=0,j=-1;next[0]=-1;while(i
穿袜子的流氓兔
·
2020-08-24 23:18
test
poj2406
Power Strings
DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa=“abc”andb=“def”thena*b=“abcdef”.Ifwethinkofconcatenationasmultiplication,exponentiationbyanon-negativeintegerisdefinedin
sdfzyhx
·
2020-08-24 23:01
字符串
poj
POJ2406
:Power Strings
DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwethinkofconcatenationasmultiplication,exponentiationbyanon-negativeintegerisdefinedin
iteye_18800
·
2020-08-24 22:21
【
POJ2406
】Power Strings 中文题意&题解&代码(C++)
PowerStringsTimeLimit:3000MSMemoryLimit:65536KDescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa=“abc”andb=“def”thena*b=“abcdef”.Ifwethinkofconcatenationasmultiplication,e
deritt
·
2020-08-24 21:58
oi之路
【
POJ2406
】Power Strings(hash/kmp)
题目地址:http://poj.org/problem?id=2406题目:求字符串是由多少个重复的子串组成的解题思路:kmp解法见:https://blog.csdn.net/Cassie_zkq/article/details/81665153求出字符串的hash数组,从小到大枚举长度,和原字符串匹配,符合条件就输出。ac代码:#include#include#include#include#
_奶酪
·
2020-08-24 20:24
字符串hash
POJ-3461 Oulipo
解题思路:这道题跟
POJ2406
有点相似,那道题是求abcabcabc,则就是3次。而这道题,abababa中aba出现了3次。
iteye_8644
·
2020-08-23 01:49
POJ2406
Power Strings 后缀数组(DC3算法)或KMP或暴搜(瞎写)
方法一:暴搜。。(188ms)自己瞎写的。。竟然过了??!!!附上AC代码:#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#definelllonglongtypedefpairpp;#definemkpmake_pair#definepbpush_
Cc_Sonia
·
2020-08-23 00:22
#
字符串
LA3026 POJ1961 period 字符串周期(KMP)
POJ2406
Power Strings
POJ1961http://poj.org/problem?id=1961PeriodDescriptionForeachprefixofagivenstringSwithNcharacters(eachcharacterhasanASCIIcodebetween97and126,inclusive),wewanttoknowwhethertheprefixisaperiodicstring.Th
我的指针和我一样已找到对象
·
2020-08-17 00:23
字符串
poj2406
—KMP next数组的性质求最小周期
题目大意:给出一个字符串,求它最多有几个连续子串构成分析:KMP求最小周期——结论:如果一个字符串有最小周期,那么最小周期为n-next[n]考虑整个串,根据next数组的定义,前后匹配并且前缀和相等的最长的后缀之间没有交叉,那么相等的部分的长度为next[n],并且从左往右相等。如果希望中间的也是有s[1..next[n]]的几个循环组成,那么整个串就以next[n]为最小周期,但是如果这样,n
zz_ylolita
·
2020-08-04 23:37
poj
KMP
字符串
POJ2406
Power Strings(Hash)
传送门分析枚举子串的长度,然后判断是否后面的没一段都与子串相等。用字符串Hash判断是否相等。代码#includeusingnamespacestd;#defineINF0x3f3f3f3f#definefull(a,b)memset(a,b,sizeofa)#definelllonglong#defineuiunsignedintintread()//快读{intx=0,f=1;charch=g
蒟->zhuqm<-蒻
·
2020-08-04 22:50
Hash
字符串专题 kmp-trie-ac
poj2406
简单的kmp,考察next[]找循环周期的性质。bzoj3670复杂的kmp,需要有趣的变形。poj3630简单的trie树,寻找前缀的关系。
swen29
·
2020-08-04 18:19
模板
字符串
POJ2406
power strings——哈希/KMP
题目传送门题目大意:给定若干个长度≤106106的字符串,询问每个字符串最多是由多少个相同的子字符串重复连接而成的。如:abababababab则最多有33个abab连接而成。样例输入:abcdaaaaababab.//当读入为.时结束程序样例输出143这道题是一道有趣的题,有两种思路,第一种是哈希。我们考虑哈希的过程,就以abababababab为例,则整个串的哈希值为(我的乘数是233)233
stevensonson
·
2020-08-04 18:54
POJ
POJ2406
(KMP)
题目链接:http://poj.org/problem?id=2406利用KMP中的next数组,如果字符串是周期串的话,那么len-next[n]一定是字符串的最小周期,一定能整除len;如果不是周期串的话,next[n]不能整除len,输出1。#include#include#includeusingnamespacestd;intf[1000010];charstr[1000010];voi
ElephantFlySong
·
2020-08-04 17:57
poj2406
——经典循环节题
题目链接:Giventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwethinkofconcatenationasmultiplication,exponentiationbyanon-negativeintegerisdefinedinthenor
木每立兄豪
·
2020-08-04 17:08
kmp
POJ2406
——经典哈希(求最大循环次数)
题目链接:poj.org/problem?id=2406Giventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwethinkofconcatenationasmultiplication,exponentiationbyanon-negativei
木每立兄豪
·
2020-08-04 17:08
字符串哈希
B -
POJ2406
Hash
Giventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifwethinkofconcatenationasmultiplication,exponentiationbyanon-negativeintegerisdefinedinthenormalwa
渣渣本扎
·
2020-08-04 17:01
数据结构训练
[
poj2406
]Power Strings_hash
PowerStringspoj-2406题目大意:询问一个字符串最多几个相同且连续的字符串构成(Eg:abababab由4个构成,abcd由1个构成)。注释:字符串长度为n,$1\len\le10^6$.想法:hash裸题,通过Hash求出单个字符串的hash前缀,然后用n的约数以及hash值判定即可。最后,附上丑陋的代码......#include#include#include#include
dianan0938
·
2020-08-04 13:10
POJ2406
& POJ1961 详细解题思路和AC程序 KMP算法变种
poj2406
题目大意:给出一个字符串s,求其最短的子串a,使得s=a^n(即n个a相连),输出n。s的长度小于10^6。
IceTeaSet
·
2020-08-04 12:56
算法
poj2406
连续重复子串
PowerStringsTimeLimit:3000MSMemoryLimit:65536KTotalSubmissions:41110Accepted:17099DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".Ifweth
Tyuio28
·
2020-08-04 12:53
数据结构
哈希-
poj2406
(每个字符串最小周期的个数)
先建立字符串的哈希数组枚举每个子串********************************************************************建立基数数组函数voidfbase(){base[0]=1;for(inti=1;i=0;i--)hashe[i]=hashe[i+1]*m+s[i];}枚举+判断for(inti=1;i#include#includeusing
-Accept-
·
2020-08-04 11:31
acm
[
POJ2406
]字符串的幂
题目描述】对于给定的两个字符串a,b,我们定义a*b是将把它们连接在一起形成的字符串。例如,若a="abc",b="def",则a*b="abcdef"。如果我们将这种运算视为乘法,则非负整数的乘方运算被以类似的方式定义:a^0=""(空字符串),a^(n+1)=a*(a^n)。【输入格式】输入包含多组数据。每组数据有一行一个大写字母组成的字符串s,其长度至少为1,至多为10^6.输入结束标志为一
weixin_30381317
·
2020-08-04 04:57
我的题解(3)-求最小循环节(KMP,
POJ2406
)
KMP(烤馍片)算法想必大家都会吧,这次让我们来做一道题——求最小循环节。先上题,题目大意是这样的(我对原题进行了一些改动):给你一个字符串s(|s|≤1,000,000),求其最小循环节。最小循环节指有一s的子串a,s=aaa...a,也就是共n个a可顺序拼成原串s(原题是说s=a^n)。样例:1.abcd最小循环节为其本身2.aaaa最小循环节为a3.ababab最小循环节为ab很多大佬会说:
lee_happycpp
·
2020-07-16 01:49
题解
POJ-1964 Period
aabaabaabaab,长度为12.到第二个a时,a出现2次,输出2.到第二个b时,aab出现了2次,输出2.到第三个b时,aab出现3次,输出3.到第四个b时,aab出现4次,输出4.解题思路:这道题好像就是
POJ2406
iteye_8644
·
2020-07-04 19:15
Power String
poj2406
(后缀数组+DC3算法)
这题其实应该不是用后缀数组做的。。。但是就当做练习吧。倍增算法在这里会被卡掉,所以要用DC3算法。。这里我是套模板的。。重点就在于,怎么找这个循环节。做法是把height数组出来之后,枚举一下长度。设长度为i,如果满足条件的话。后缀0(整个串)和后缀i的LCP是length-i这个做法很巧妙,学习了。//42704K2829MSC++2709B2013-12-1813:31:43/*题意:给出一个
getupdown
·
2020-07-02 00:01
后缀数组
kmp2-HDU1358 HUST1010
POJ2406
POJ2752
HDU1358http://acm.hdu.edu.cn/showproblem.php?pid=1358先构造出next[]数组,下标为i,定义一个变量j=i-next[i]就是next数组下标和下标对应值的差,如果这个差能整除下标i,即i%j==0,则说明下标i之前的字符串(周期性字符串长度为i)一定可以由一个前缀周期性的表示出来,这个前缀的长度为刚才求得的那个差,即j,则这个前缀出现的次数为
RabbitMQ!!!
·
2020-06-23 13:05
数据结构与算法
POJ 2406题解kmp算法的应用
POJ2406
传送门题目意思:比如给出一个字符串,让你找出它是由多少个相同子串组成的,输出该子串的最大个数比如abababab,它是由子串ab重复4次组成的,输出4abcd它是由子串abcd重复1次组成的
_奶酪
·
2018-08-14 13:50
算法入门题目
kmp
关于 KMP next 数组的应用
仔细看这个点击打开链接好好理解next数组的含义
POJ2406
求最小的循环节长度#include#include#include#includeusingnamespacestd;charb[1000010
ACM_e
·
2017-08-28 22:38
POJ
【
POJ2406
】Power Strings(KMP与最小循环节的故事)
题目:我是超链接题解:最小循环节=长度-末位失配条件:1、长度可以整除末位失配 2、末位失配的长度小于长度的二分之一其实可以发现1包含2,因为如果循环节大于长度的一半,也不可能整除代码:#include#includeusingnamespacestd;chars[1000005];intt[1000005],n;voidsp(){t[0]=-1;for(inti=0;i
wwyx2001
·
2017-03-26 20:22
KMP
poj2406
扩展kmp
如果k是字符串的循环节,str.substr(0)==str.substr(k)这里恰好是最长前缀和后缀,用extkmp来正好.求最小循环节,且这个循环节长度要能整除slen./**********************jibancanyang***************************Author*:jibancanyang*CreatedTime*:六5/721:17:062016
jibancanyang
·
2016-05-07 22:00
POJ2406
Power Strings
题目链接:POJ2406PowerStringsTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 41439 Accepted: 17231DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena
qq_29480875
·
2016-04-28 20:00
KMP
poj
【POJ 2406】 Power Strings(KMP求循环节)
【
POJ2406
】PowerStrings(KMP求循环节)TimeLimit:3000MS MemoryLimit:65536KTotalSubmissions:40536 Accepted:16862DescriptionGiventwostringsaandbwedefinea
ChallengerRumble
·
2016-03-01 20:00
【POJ 2406】 Power Strings(KMP求循环节)
【
POJ2406
】PowerStrings(KMP求循环节)TimeLimit:3000MS MemoryLimit:65536KTotalSubmissions:40536 Accepted:16862DescriptionGiventwostringsaandbwedefinea
ChallengerRumble
·
2016-03-01 20:00
POJ2406
(next原理理解)
PowerStringsTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 40448 Accepted: 16828DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".
baneHunter
·
2016-02-20 18:00
【
poj2406
】Power Strings(KMP)
题目描述传送门题解最小循环节=长度-末位失配条件:1、末位失配的长度大于等于整个字符串长度的一半;2、循环节长度可以被字符串长度整除。假设黑色的部分为原始的字符串,蓝色的部分为末位失配,红色的部分为长度-末位失配,我们可以知道相同颜色的部分分别对应相等,意思类推,得出上面的结论。但是要注意判断循环节长度能否被总长度整除。这道题的话直接判断能否整除不判断失配长度是否超过一半其实也是可以过的,因为如果
Clove_unique
·
2016-02-19 19:00
KMP
poj
poj2406
—KMP next数组的性质求最小周期
题目大意:给出一个字符串,求它最多有几个连续子串构成分析:KMP求最小周期——结论:如果一个字符串有最小周期,那么最小周期为n-next[n]考虑整个串,根据next数组的定义,前后匹配并且前缀和相等的最长的后缀之间没有交叉,那么相等的部分的长度为next[n],并且从左往右相等。如果希望中间的也是有s[1..next[n]]的几个循环组成,那么整个串就以next[n]为最小周期,但是如果这样,n
zz_ylolita
·
2016-02-10 22:00
poj2406
Power Strings
PowerStringsTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 39658 Accepted: 16530DescriptionGiventwostringsaandbwedefinea*btobetheirconcatenation.Forexample,ifa="abc"andb="def"thena*b="abcdef".
AaronGZK
·
2015-12-13 17:00
KMP
poj
poj2406
Power Strings 模式匹配算法KMP变形
http://poj.org/problem?id=2406 题意:字符串A分解为数个相同的字符串B,求B的最多的个数,如ababab,可由3个ab组成,abcabab由1个abcabab组成(即本身), aaaa由4个a组成。 解题:本题并不要用到KMP的整个算法,而只是用到了KMP算法中的:next[i]的值。所于要对next[i]比较理解。 以str="ab
·
2015-11-13 16:30
String
POJ2406
Power Strings KMP算法
给你一个串s,如果能找到一个子串a,连接n次变成它,就把这个串称为power string,即a^n=s,求最大的n. 用KMP来想,如果存在的话,那么我每次f[i]的时候退的步数应该是一样多的 譬如ababab 我每次退的一定是2步,检验一下这个串的失配指针是不是这个性质,如果是的话,那么n=strlen(s)/退的步数,否则就是直接1好了. #include<
·
2015-11-12 22:41
String
poj2406
Power Strings
Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 33273 Accepted: 13825 Description Given two strings a and b we define a*b to
·
2015-11-12 20:58
String
【
POJ2406
】【KMP】Power Strings
Description Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concatenation
·
2015-11-11 19:13
String
POJ 1961 Period(KMP)
题目链接 和
POJ2406
差不多,不过用暴力去找,会超时。
·
2015-11-11 10:42
poj
poj2406
View Code /*
Poj2406
题解: if (len % (len - next[len])
·
2015-11-08 17:39
poj
poj 2406 && poj 1961 (KMP)
poj2406
http://poj.org/problem?id=2406 给定一个字符串,问最多是多少个相同子串不重叠连接构成。 KMP的next数组应用。
·
2015-11-01 16:39
poj
POJ2406
KMP算法
POJ2406
问题重述:给定字符串s0,记连续的k个s前后相连组成的s0s0...s0为s0^k。输入字符串S,求最大的k,使得S = s0^k.
·
2015-10-31 12:03
poj
上一页
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
其他