`
hunxiejun
  • 浏览: 1170500 次
文章分类
社区版块
存档分类
最新评论

POJ 2406  KMP求字符串循环节

阅读更多

  还是一道求字符串循环节的问题,用KMP算法可以轻松解决,只要注意是以什么结束的就可以了。。。。。。题目:

Power Strings
Time Limit:3000MS Memory Limit:65536K
Total Submissions:19573 Accepted:8173

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 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).

Input

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.

Output

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

Sample Input

abcd
aaaa
ababab
.

Sample Output

1
4
3
ac代码;



分享到:
评论

相关推荐

    pku poj 2406

    #include using namespace std;...bool kmp(char *t,char *p) { int i,j; for(i=lenp,j=0;i;i++) { if(t[i]!=p[j]) return false; if(t[i]==p[j]) j++; if(j==lenp) j=0; } return true; }

    KMP.rar_kmp poj

    在POJ上,有许多题目涉及字符串匹配,比如"KMP.rar_kmp poj"中的题目,正是要求参赛者运用KMP算法解决问题。通过编写源代码,我们可以实现KMP算法,解决这些题目。在实际编程中,通常需要考虑边界条件、错误处理以及...

    字符串题目记录

    该题目使用 KMP 算法来解决,首先找到字符串的循环节,然后使用 KMP 算法来找出所有循环位移的不同的数字。 HDU 4416 该题目要求找出 A 中有多少个子串不再 B 中出现。该题目使用后缀数组来解决,预处理时间复杂度...

    POJ1016-Numbers That Count【字符串处理】

    《POJ1016-Numbers That Count:深入解析字符串处理》 在编程竞赛的世界里,北京大学的在线判题系统POJ(Problem Online Judge)是一个备受程序员喜爱的平台。其中,POJ1016“Numbers That Count”是一个涉及字符串...

    其他字符串相关题解1

    计算出现次数需要考虑字符串由多少个完整循环节组成。 5. **拼写检查**:POJ 1035是关于拼写错误检测的,需要在给定的词典中找到可能的正确拼写。这个问题可以利用哈希表存储词典,并采用双指针法和动态规划思想来...

    string-problem(POJ).rar_POJ 19_poj

    2. **POJ1790**:可能涉及字符串的模式匹配,如KMP算法或Boyer-Moore算法,用于在一个字符串中寻找另一个字符串的出现位置。 3. **POJ1951**:可能与字符串的排序有关,比如可以运用Manacher's Algorithm解决最长...

    POJ1159-Palindrome

    【标签】"POJ 1159 Palindrome" 标签明确了这是关于回文的一个问题,回文是指正读反读都能读通的字符串,例如"madam"或"12321"。在编程中,回文的检测是字符串处理的基本操作,常常涉及字符串反转和比较。 **知识点...

    POJ 分类题目 txt文件

    例如,题目poj1961和poj2406就是KMP算法的应用实例。 ### 7. 几何算法 几何算法涉及点、线、面的性质和关系,如凸包、最近点对、三角剖分等问题。这些算法在计算机图形学、地理信息系统等领域有着广泛的应用。例如...

    LeetCode判断字符串是否循环-Leetcode:刷!

    LeetCode判断字符串是否循环 :bookmark_tabs:Plan 动态规划 背包问题 动态规划 POJ 3267 POJ 1260 POJ 1015 POJ 3176 POJ 1080 POJ 1159 POJ 2533 POJ 1836 Leetcode 70 Leetcode 309 搜索 DFS POJ 2488 POJ 3083 ...

    poj题目分类

    * KMP 算法:例如 poj1961、poj2406。 4. 搜索: * 最优化剪枝和可行性剪枝。 * 搜索的技巧和优化:例如 poj3411、poj1724。 * 记忆化搜索:例如 poj3373、poj1691。 5. 动态规划: * 较为复杂的动态规划:...

    POJ2525-Text Formalization【TrieTree】

    这个题目来源于北京大学的在线判题系统POJ,旨在考察程序员对字符串处理和Trie树的理解与应用。 题目背景: POJ2525是一个典型的文本规范化问题,要求我们将一系列单词按照一定的规则进行排序并输出。输入是一组...

    acm新手刷题攻略之poj

    - 字符串匹配算法如KMP算法可以提高字符串匹配的效率。 以上列举的题目只是冰山一角,POJ上还有更多类型的题目等待着大家去探索。通过不断练习这些题目,可以逐渐建立起解决各类问题的能力,为参加更高级别的竞赛...

    字符串进阶前导知识1

    在IT领域,字符串处理是计算机科学中的一个基本概念,尤其在编程、数据处理和算法设计中扮演着重要角色。本文将深入探讨两个重要的字符串进阶知识点:字符串哈希和后缀数组,以及它们在实际问题解决中的应用。 首先...

    经典 的POJ 分类

    - POJ 1961、POJ 2406:KMP算法的应用。 ### 其他问题 #### 贪心算法 - **题目示例**: - POJ 3411、POJ 1724:贪心策略的选择与应用。 #### 二分查找 - **题目示例**: - POJ 3373、POJ 1691:二分查找技术的...

    acm训练计划(poj的题)

    - (poj1961, poj2406):高效的字符串匹配算法。 ### 十、进阶状态压缩 1. **状态压缩技巧**: - 如何高效地表示和压缩状态。 2. **状态压缩优化**: - (poj3411, poj1724):进一步提高状态压缩动态规划的效率...

    字典树练习 POJ 1056

    在POJ 1056这个题目中,可能要求参赛者实现一个字典树,以便有效地处理一系列字符串查询。 由于没有具体的题目描述,我们无法提供详细的解题步骤。但通常,字典树的应用包括单词查找、自动补全、IP地址路由等。在...

    poj 百练 题目分类

    poj 百练 题目分类是指在 POJ(Peking University Online Judge)平台上面的编程题目的分类,这些题目涵盖了多种编程领域,包括枚举、递归、模拟、数制转换、高精度计算、简单计算、字符串处理和日期时间处理等。...

    poj训练计划.doc

    - 字符串处理:如KMP算法和后缀数组,用于字符串搜索和模式匹配,如`poj1035, poj3080`。 - 排序算法:如快速排序和归并排序,用于对数据进行排序,如`poj2388, poj2299`。 - 并查集:用于处理集合的合并和查询...

    poj 2564 Edit Step Ladders 解题报告

    POJ 2564是一道经典的字符串处理题目,涉及到动态规划(DP)与字典树(Trie Tree)的综合运用。题目要求通过一系列编辑操作将一个字符串转换为另一个字符串,每一步编辑操作可以是插入、删除或替换一个字符,并且要...

Global site tag (gtag.js) - Google Analytics