首页 > 其他分享 >302 最小循环覆盖

302 最小循环覆盖

时间:2024-12-23 10:55:39浏览次数:4  
标签:覆盖 int 302 样例 最小 循环 字符串

// 302 最小循环覆盖.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
http://oj.daimayuan.top/course/22/problem/909


给你一个字符串 a,你需要求出这个字符串的最小循环覆盖的长度。

b 是 a的最小循环覆盖,当且仅当 a 是通过 b 复制多次并连接后得到的字符串的前缀,
 且 b是满足条件的字符串中长度最小的。

输入一个字符串 a
,输出一个数表示最小循环覆盖 b 的长度。

输入格式
一行一个字符串 a。

输出格式
输出一行一个数表示答案。

样例输入1
bcabcabcabcab
样例输出1
3
样例输入2
aaaaaaa
样例输出2
1
数据规模
对于所有数据,保证 1≤|a|≤105,字符串均由小写字母构成。
*/

#include <iostream>
#include <cstring>

using namespace std;

const int N = 100010;
char str[N];
int ne[N];

int main()
{
	cin >> str + 1;
	int m = strlen(str+1);

	for (int i = 2, j = 0; i <= m; i++) {
		while (j && str[i] != str[j + 1]) j = ne[i];
		if (str[i] == str[j + 1]) j++;
		ne[i] = j;
	}


	cout << m - ne[m] << endl;

	return 0;
}

标签:覆盖,int,302,样例,最小,循环,字符串
From: https://www.cnblogs.com/itdef/p/18623440

相关文章

  • 最小生成树相关技术
    注意只有连通图才有生成树,图不连通就只有生成森林。最小生成树的板子Kruskal基本思想是按边权从小到大加边,是贪心思想。时间复杂度\(O(m\logm)\)。板子sort(e+1,e+tot+1,cmp);for(inti=1;i<=tot;++i){ intu=e[i].u,v=e[i].v; u=find(u),v=find(v); if(u==v)continu......
  • 写一个方法找出两个数的最小公倍数
    在前端开发中,你可以使用JavaScript来写一个方法找出两个数的最小公倍数(LeastCommonMultiple,LCM)。最小公倍数可以通过两数的乘积除以它们的最大公约数(GreatestCommonDivisor,GCD)来得到。以下是一个简单的JavaScript函数,用于计算两个数的最小公倍数:functiongcd(a,b){......
  • dedeCMS 图集提示302与FILEID:X解决办法
    问题:图集提示302与FILEID:X。解决办法:打开 /dede/swfupload.php 文件,找到 echo"FILEID:".$_SESSION['fileid'];,在其上面加入:ob_end_clean();继续找到 if(empty($id)),在其上面加入:ob_end_clean();将最近改动过的文件用编程软件查看和转码回UTF-8无BOM......
  • Java学习,方法覆盖
    Java方法覆盖是面向对象编程中的一个重要概念,它允许子类提供一个特定实现,该实现将覆盖(或重写)父类中已有方法。通过方法覆盖,子类可以自定义或扩展从父类继承的行为。方法重载与方法覆盖区别:方法重载(Overloading):两个方法的方法名相同,但参数不一致,可以说一个方法是另一个方法......
  • 【编译原理】编译原理知识点汇总·词法分析器(正则式到NFA、NFA到DFA、DFA最小化)
    ......
  • Averaging Weights Leads to Wider Optima and Better Generalization(SWA2018-2019)平
    第一部分:解决的问题论文解决的是深度神经网络优化过程中模型的泛化能力提升问题。具体来说:背景问题:在深度学习中,SGD(随机梯度下降)及其变种是主要的优化方法,但其找到的解通常在权重空间中是“尖锐(参数稍微变一点损失函数就会变化很大)的”(sharpminima),对模型泛化性能有负面影......
  • 深度学习之平坦最小化
    第一部分:基础定义平坦最小化(PlateauMinimization)通常出现在数学优化、图像处理和信号处理领域,指的是一种优化方法或目标,其目的是找到在某些意义下“平坦”的解,同时对目标函数或某些能量函数进行最小化。平坦最小化的核心思想是:不仅仅关注优化问题的极值,还特别关注优化解在某......
  • 白盒测试——6种覆盖(语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,组合覆盖,路径覆盖)
    目录白盒测试1.语句覆盖:每个语句执行一次2.判定覆盖:每个判定真假至少一次3.条件覆盖:每个判定中的条件至少一次4.判定条件覆盖=2+35.组合(条件组合覆盖):每个判定中的各个条件各种可能的组合至少一次6.路径覆盖:所有路径至少执行一次此文章为我看了B站视频和CSDN文章......
  • 【EPS32硬件】ESP32最小系统绘制
    以ESP32-WROOM-32E原理图为例模组原理图外围设计原理图●EPAD管脚39可以不焊接到底板。如果您想将EPAD焊接到底板,请确保使用适量焊膏,避免过量焊膏造成模组与底板距离过大,影响管脚与底板之间的贴合。●为确保ESP32芯片上电时的供电正常,EN管脚处需要增加RC延迟......
  • 2024年华为OD机试真题-字符串变换最小字符串-C++-OD统一考试(E卷)
     最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,持续跟新。 题目描述࿱......