Power Strings

Power Strings C++题解 内存限制: 512 MiB 时间限制: 1000 ms 标准输入输出 题目类型: 传统 评测方式: 文本比较。 阅读详情

题目描述:

Given two strings a and b we define ab to be their concatenation. For example, if a = “abc” and b = “def” then ab = “abcdef”. If we think of concatenation as multiplication, exponentiation by a non-negative integer is defined in the normal way: a^0 = “” (the empty string) and a^(n+1) = a*(a^n).

输入:

Each test case is a line of input representing s, a string of printable characters. The length of s will be at least 1 and will not exceed 1 million characters. A line containing a period follows the last test case.

输出:

For each s you should print the largest n such that s = a^n for some string a.

样例输入:

abcd
aaaa
ababab
.

样例输出:

1
4
3

提示:

This problem has huge input, use scanf instead of cin to avoid time limit exceed.

code:

题目大意: 给出一个字符串 问它最多由多少相同的字串组成

KMP:
用next数组求出整个数组的最大前缀,如果整个串是用循环节组成的,那么 n - next[n] 也就是最小循环节,验证最小循环节会被n整出。

#include<stdio.h>
#include<string.h>
const int maxn=1e6+10;
char a[maxn];
int nextt[maxn]; 
int n;
void init()
{
	int i=0,j=-1;
	n=strlen(a);
	nextt[0]=-1;
	int maxx=1;
	while(i<n)
	{
		if(j==-1||a[i]==a[j])
		{
			i++;
			j++;
			nextt[i]=j;
		}
		else j=nextt[j];
	}
}
int main()
{
	while(1)
	{
		scanf("%s",a);
		if(a[0]=='.')break;
		init(); 
		int n=strlen(a);
		if(n%(n-nextt[n])==0)printf("%d\n",n/(n-nextt[n]));
		else printf("1\n");
	}
	return 0;
}

pku acm 2406 Power Strings代码 pku acm 2406 Power Strings代码<br>kmp算法。解题报告:http://blog.youkuaiyun.com/china8848 立即下载

相关推荐

【2021工业图像异常检测文献】DRÆM: 基于判别性训练的重建嵌入表面异常检测方法

DRÆM – A discriminatively trained reconstruction embedding for surface anomaly detection

qq_1532145264的博客 1477

电源线(power strings)

问题描述 给定两个字符串a和b,我们将a * b定义为它们的串联。例如,如果a =“ abc”和b =“ def”,则a * b =“ abcdef”。如果我们将串联视为乘法,则以非负整数进行乘幂运算的方式为:a ^ 0 =“”(空字符串)和a ^(n + 1)= a *(a ^ n)。 输入项 每个测试用例都是代表s(可打印字符的字符串)的一行输入。s的长度至少为1,并且不超过1百万个字符。最后一个测试用例之后的一行包含一个句点。 输出量 对于每个s,您应该打印最大的n,这样对于某些字符串a,s = a

qq_45828951的博客 310

STM32L151C8T6低功耗实战:RTC闹钟唤醒停机模式的配置与优化

本文详细介绍了如何在STM32L151C8T6微控制器上配置与优化RTC闹钟唤醒停机模式,以实现极致的低功耗设计。文章从核心原理出发,结合STM32CubeMX配置实战,深入讲解了进入停机模式前的关键准备工作、唤醒后的系统恢复流程,并分享了将功耗降至个位数微安级的深度优化技巧与常见问题解决方案。

weixin_29166013的博客 301

POJ 2406 KMP 解题报告

Power StringsDescriptionGiven 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 as multiplication, e

onepointo 1321

ArcGIS Pro2.5深度学习使用注意事项

ArcGIS Pro2.5深度学习使用中的注意事项1、ArcGIS Pro2.5深度学习使用中的注意事项1.1、Label深度学习样本工具参数介绍1.2、准备数据参数介绍1.3、训练模型介绍1.4、ArcGIS Pro2.5深度学习推理工具和模型对应关系介绍1.4.1、Classify Objects Using Deep Learning1.4.2、Classify Pixels Using D...

GIS哼哈哈的博客 7201

保姆级教程:给你的Jetson Orin NX换个‘大房子’——新SSD初始化与JetPack 6.x刷机全流程

本文提供Jetson Orin NX存储升级与JetPack 6.x系统部署的完整指南,涵盖SSD选型、分区策略、刷机流程及性能优化技巧。通过实测数据展示如何提升AI模型加载速度33%,并分享温度管理、I/O调度等实战经验,助力开发者突破边缘计算存储瓶颈。

weixin_42715608的博客 157

1457 Power Strings

1457 Power Strings 嗯?貌似这个题正解是KMP啊 题意不难理解,就是找一个字符串的最长循环节的长度 然后我们把每一段的也就是类似于前缀的东西维护一下hash值 接下来枚举每一段,用函数核查一下,至于核查函数其实和枚举差不多,没有什么难得地方,从这里可以看出来,hash得优化并不是从查找上优化,而是从长度上优化 #include<bits/stdc++.h> using namespace std; typedef unsigned long long ull; const i

CCCCDEV_CCCC的博客 403

从《新程序员》系列看程序员职业发展趋势与成长路径

在信息技术日新月异的当下,软件开发行业蓬勃发展,程序员作为行业的核心力量,其成长与发展路径备受瞩目。《新程序员》系列杂志应运而生,以其前瞻性的视角、丰富多元的内容,为广大程序员尤其是新程序员提供了洞察行业趋势、学习前沿技术、汲取前辈经验的宝贵窗口。该系列杂志由优快云精心打造,自推出以来,便在开发者群体中引发了强烈反响。《新程序员》系列内容涵盖了从基础技术知识的深入解读,到行业前沿趋势的精准预测;从优秀开发者的成长历程分享,到各大企业数字化转型的实践案例剖析等多个维度。

AllenLV的博客 2259

1466 Power Strings

1466 Power Strings 这个题是用来求字符串的最长循环串?貌似和无线传输很像 首先对于n-next[n]的原因我就不在赘述了,其实和无线传输一样,如果想了解更多,请去我的博客参考 然后再用总长度进行取余,证明不管了,我最讨厌证明 #include<iostream> #include<cstdio> #include<algorithm> #include<string> #include<cstring> using namespa

CCCCDEV_CCCC的博客 209

OpenGL纹理贴图

OpenGL纹理1. 基本概念2. 纹理环绕方式3. 纹理过滤3.1 GL_NEAREST3.2 GL_LINEAR3.3 多级渐远纹理 (Mipmap)4. 纹理加载与创建4.1 纹理加载4.2 纹理创建4.3 纹理的使用 1. 基本概念 纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来表示物体的细节特征,希望绘制一个有足够多细节的物体,当然可以用足够多的顶点颜色来描述,但是无疑也增加了许多额外的开销;另一种办法就是使用纹理。 学习之前先展示一张实现的纹理图以更好理解纹理! 还是这张图为了将纹

牵LV小猪精的博客 8928

Microsoft Dynamics 365软件二次开发:Dynamics365部署与版本控制策略

在Microsoft Dynamics 365中,自定义实体允许开发者扩展系统以满足特定业务需求。自定义实体可以包含字段、选项集、关系和其他属性,与标准实体类似,但完全由用户定义。1. 登录到Dynamics 365环境。2. 转到“解决方案”区域,选择“自定义”。3. 在“自定义”菜单中,选择“实体”。4. 点击“新建”,输入实体名称,例如“客户反馈”。5. 添加字段,如“反馈类型”、“反馈日期”、“描述”等。6. 设置主键和唯一标识符。7. 定义关系,如与“客户”实体的关联。

kkchenjj的博客 2208

uva 10298 - Power Strings(KMP)

题目链接:poj 2406 Power Strings 题目大意:给出一个字符串,求出该字符串是由几个最小循环节组成的。 解题思路:KMP, n-next[n]即为最小循环节。 #include #include const int N = 1000005; int n, next[N]; char s[N]; void getNext () { in

不慌不忙、不急不躁 2441

多准则决策方法体系(AHP、熵权法、随机森林、加权线性法、TOPSIS、模糊综合评价)

多准则决策方法体系的基础,是由三大赋权方法和三大评价框架构成的 “3+3” 核心模块。赋权方法聚焦于准则重要性的量化,评价框架则专注于多准则信息的综合集成,二者共同覆盖了从 “确定权重” 到 “输出结果” 的全流程决策需求。

```On Earth, Be Water, By Coding``` 522

Poj 2406 Power Strings

http://www.studyai.com/article/114bf471

Mercury的博客 482

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

poj2406 Power Strings-------KMP

Power Strings   Time Limit:3000MS Memory Limit:65536K Total Submissions:23083 Accepted:9679 Description Given two strings a and b we define a*b to be

Shirley 5145

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: Period
下一篇: Seek the Name, Seek the Fame
大橘为重eleven
博客等级 码龄8年 35粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值