题目大意:给出一个字符串,将其分解为若干子串的和,求可分解的最多子串的个数。
做题之前就知道这是一道KMP的题目,但一直没想到怎么写 后面看了下别人的思路(最近写题总是会忍不住看别人的思路 惭愧。。) 得出结论: 一个串的周期子串长度=主串长-next[主串长度]. 然后再用主串长除以周期子串长度就得到了子串周期长度。
下面贴代码
#include "iostream" using namespace std; #define len 1000020 char c[len]; int next[len]; int clen; void getnext() { int i; int j; i=0; j=-1; next[0]=-1; while (i<clen) { if (j==-1||c[i]==c[j]) { i++; j++; next[i]=j; } else { j=next[j]; } } } int main() { while (true) { scanf("%s",c); if (c[0]=='.') { break; } clen=strlen(c); getnext(); int t=clen-next[clen]; if (c[clen-1]!=c[t-1]) { printf("1\n");//注意考虑如aabaabaa 这种结果为1的情况 } else { printf("%d\n",clen/(clen-next[clen])); } } return 0; }
相关推荐
【标题】"POJ2002-Squares"是一个经典的计算机编程题目,源自北京大学的在线判题系统(POJ,即PKU Online Judge)。这个题目主要涉及到算法设计和实现,尤其是数学和动态规划方面的知识。 【描述】"解题报告+AC代码...
标题“POJ3253-POJ3253-Fence Repair【STL优先队列】”指的是一个在线编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。该题目要求参赛者使用C++编程语言解决特定的问题,并且在解决方案中...
【标题】"POJ1426-Find The Multiple【BFS+同余模】"是一道来源于北京大学在线编程平台POJ的算法题目,主要涉及到了广度优先搜索(BFS)与同余模运算的知识点。这道题目要求解决的是寻找一个整数的倍数问题,可能...
【标题】"POJ3020-Antenna Placement"是一个经典的计算机编程竞赛题目,源自北京大学的在线评测系统POJ(PKU Online Judge)。这个题目挑战了参赛者在算法设计和实现上的能力。 【描述】"解题报告+AC代码"意味着这...
3. **字符串处理**:这类题目主要涉及字符串操作,如模式匹配、编码解码、文本处理等,对字符串操作的理解和运用是编程中常见的技能。 4. **动态规划**:动态规划是一种解决复杂问题的有效方法,常常用于求解最优化...
这是魔兽世界终极版POJ的-测试数据,找了好久才找到的。 本来想设置为0积分,但是它居然自动收费(o_ _)ノ。 看传送门:https://pan.baidu.com/s/1cCIwW8psGDASu2JdZawG3Q
这个题目来源于北京大学的在线判题系统POJ,旨在考察程序员对字符串处理和Trie树的理解与应用。 题目背景: POJ2525是一个典型的文本规范化问题,要求我们将一系列单词按照一定的规则进行排序并输出。输入是一组...
【标题】"POJ1837-Balance"是一个在线编程竞赛题目,源自著名的编程练习平台POJ(Programming Online Judge)。这个题目旨在测试参赛者的算法设计和实现能力,特别是处理平衡问题的技巧。 【描述】"解题报告+AC代码...
【标题】"POJ1258-Agri-Net【Prim】" 是一个编程竞赛题目,来源于北京大学的在线评测系统POJ(Problem Online Judge)。这个题目主要涉及到图论中的一个重要算法——普里姆(Prim)算法。 【描述】"北大POJ1258-...
【标题】"POJ1010-STAMPS"是一个编程题目,来源于北京大学的在线判题系统POJ(Problem Set of Peking University),这是一处训练程序员算法技能和编程能力的平台。该题目旨在考察参赛者对动态规划或贪心算法的理解...
【标题】"POJ2299-Ultra-QuickSort"是北京大学在线判题系统POJ上的一道编程题目,其主要涉及的算法是快速排序(Ultra-QuickSort)。快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。它的基本思想是采用...
【标签】"POJ 1159 Palindrome" 标签明确了这是关于回文的一个问题,回文是指正读反读都能读通的字符串,例如"madam"或"12321"。在编程中,回文的检测是字符串处理的基本操作,常常涉及字符串反转和比较。 **知识点...
【标题】"POJ2503-Babelfish"是一个来自北京大学在线判题系统(POJ,Problem Online Judge)的编程题目。该题目要求参赛者编写程序解决特定的算法问题,通过编程语言实现,然后提交代码以供系统自动评测。 【描述】...
标题“POJ3414-Pots”是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这个题目主要考察的是算法设计和实现能力,通常涉及计算机科学中的数据结构和算法知识。 解题报告是参赛者在...
【标题】"POJ1003-Hangover"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这类题目通常要求参赛者编写程序来解决特定的算法问题,以此锻炼和测试编程技能及算法理解能力。 【描述...
代码中可能会用到动态规划、贪心算法等策略,以求在满足题目要求的同时,保证算法的时间复杂度尽可能低,从而在POJ平台上获得AC状态。而解题报告则会详细解释这些算法的应用和选择原因,以及代码的具体实现细节。
【标题】"POJ1007-DNA Sorting"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这个题目要求参赛者编写程序,对DNA序列进行排序,具体而言,就是对一系列由ATCG四种碱基组成的DNA字符...
【标题】"POJ3122-Pie"是一道来自北京大学在线判题系统POJ(Problem Online Judge)的编程题目。这道题目通常被用于训练程序员的数据结构和算法技能,特别是解决数学问题的能力。在编程竞赛或者算法训练中,这类题目...
【标题】"POJ1009 - 边缘检测" 在计算机图形学与图像处理领域,边缘检测是一项至关重要的技术。北京大学编程平台POJ上的第1009题,"Edge Detection"(边缘检测),旨在让学生通过编程实现对图像进行边缘检测。此题...
【标题】"POJ3295-Tautology"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这个题目主要考察的是逻辑推理和算法实现能力。 【描述】"北大POJ3295-Tautology 解题报告+AC代码"意味...