POJ 2406 Power Strings KMP算法之next数组的应用
题意:给一个字符串,求该串最多由多少个相同的子串相接而成。
思路:只要做过poj 1961之后,这道题就很简单了。poj 1961 详细题解传送门。
假设字符串的长度为len,如果 len % (len - next[len])不为0,说明该字符串不能由其他更短的字符串反复相接而成,结果输出1,否则答案为len / (len - next[len])。
#include<stdio.h>
#include<string.h>
#define maxn 1000010
char s[maxn];
int next[maxn];
void get_next(char str[])
{
next[] = -;
int i = ;
int j = -;
int len = strlen(str);
while (i < len)
{
if (j == - || str[i] == str[j])
{
i++; j++;
next[i] = j;
}
else j = next[j];
}
}
int main()
{
while (scanf("%s", s))
{
int len = strlen(s);
if (len == && s[] == '.') break;
get_next(s);
printf("%d\n", len % (len - next[len]) ? : len / (len - next[len]));
}
return ;
}
POJ 2406 Power Strings KMP算法之next数组的应用的更多相关文章
- poj 2406 Power Strings kmp算法
		
点击打开链接 Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 27368 Accepted: ...
 - POJ 2406 Power Strings (KMP)
		
Power Strings Time Limit: 3000MSMemory Limit: 65536K Total Submissions: 29663Accepted: 12387 Descrip ...
 - poj 2406 Power Strings (kmp 中 next 数组的应用||后缀数组)
		
http://poj.org/problem?id=2406 Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submiss ...
 - poj 2406 Power Strings(KMP变形)
		
Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 28102 Accepted: 11755 D ...
 - POJ 2406 - Power Strings - [KMP求最小循环节]
		
题目链接:http://poj.org/problem?id=2406 Time Limit: 3000MS Memory Limit: 65536K Description Given two st ...
 - POJ 2406 Power Strings  KMP求周期
		
传送门 http://poj.org/problem?id=2406 题目就是求循环了几次. 记得如果每循环输出为1.... #include<cstdio> #include<cs ...
 - POJ 2406 Power Strings KMP运用题解
		
本题是计算一个字符串能完整分成多少一模一样的子字符串. 原来是使用KMP的next数组计算出来的,一直都认为是能够利用next数组的.可是自己想了非常久没能这么简洁地总结出来,也仅仅能查查他人代码才恍 ...
 - poj 2406 Power Strings   KMP匹配
		
对于数组s[0~n-1],计算next[0~n](多计算一位). 考虑next[n],如果t=n-next[n],如果n%t==0,则t就是问题的解,否则解为1. 这样考虑: 比方字符串"a ...
 - KMP POJ 2406 Power Strings
		
题目传送门 /* 题意:一个串有字串重复n次产生,求最大的n KMP:nex[]的性质应用,感觉对nex加深了理解 */ /************************************** ...
 
随机推荐
- C# datagridview列绑定类中类的属性
			
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://www.cnblogs.com/linghaoxinpian/p/5906374. ...
 - HDU 3333 Turing Tree 莫队算法
			
题意: 给出一个序列和若干次询问,每次询问一个子序列去重后的所有元素之和. 分析: 先将序列离散化,然后离线处理所有询问. 用莫队算法维护每个数出现的次数,就可以一边移动区间一边维护不同元素之和. # ...
 - 03014_EL技术
			
1.EL表达式概述 EL(Express Language)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写. 2.EL从域中取出数据(EL最重要的作 ...
 - NOI p 2017 TG游记
			
嗨小朋友们大家好 还记得我是谁吗 对了我就是为iot配音的演员 弹鸡鸡 今天呐我特别的要向长沙市的oier们 洛谷的oier们 还有cnblogs的oier们问声好 为什么呢 因为我们在2017年11 ...
 - Python中的Json模块dumps、loads、dump、load函数介绍
			
Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json ...
 - 【LeetCode】Merge Sorted Array(合并两个有序数组)
			
这道题是LeetCode里的第88道题. 题目描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nu ...
 - Struts2中 ValueStack、ActionContext、ServletContext、request、session等 表格解析
			
变量 从ActionContext中获得 生命周期 用Ongl来读取值 使用ServletConfigInterceptor来注入 ActionContext类 静态方法ActionContext. ...
 - Jquery版放大镜效果
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - [SDOI2009][bzoj1877] 晨跑 [费用流]
			
题面: 传送门 思路: 一个点只能走一回,路径不能相交...... 显然可以转化为网络流的决策来做 我们构建一个网络,令其最大流等于最大的跑步天数即可 怎么构造呢? 对于每个点只能走一次的限制,可以考 ...
 - bzoj3105【CQOI2013】新nim游戏
			
题意:http://www.lydsy.com/JudgeOnline/problem.php?id=3105 sol :要想必胜则拿完后异或空间不能包含0,即给对手留下一组线性基 为保证拿走的最小 ...