[BZOJ1355][Baltic2009]Radio Transmission
[BZOJ1355][Baltic2009]Radio Transmission
试题描述
输入
第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符串,全由小写字母组成.
输出
输出最短的长度
输入示例
8 cabcabca
输出示例
3
数据规模及约定
见“输入”
题解
就是找到最大的 boarder,然后用总长度减去它的长度就是最小周期。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <algorithm>
using namespace std;int read() {int x = 0, f = 1; char c = getchar();while(!isdigit(c)){ if(c == '-') f = -1; c = getchar(); }while(isdigit(c)){ x = x * 10 + c - '0'; c = getchar(); }return x * f;
}#define maxn 1000010
char S[maxn];
int Fail[maxn];int main() {int n = read();scanf("%s", S + 1);for(int i = 2; i <= n + 1; i++) {int j = Fail[i-1];while(j > 1 && S[j] != S[i-1]) j = Fail[j];Fail[i] = S[j] == S[i-1] ? j + 1 : 1;}printf("%d\n", n + 1 - Fail[n+1]);return 0;
}
转载于:https://www.cnblogs.com/xiao-ju-ruo-xjr/p/6482369.html
[BZOJ1355][Baltic2009]Radio Transmission相关推荐
- BZOJ1355: [Baltic2009]Radio Transmission
题目大意:给出一个字符串,已知它是一个字符串S不断反复后构成的无限长的字符串的一个子串,求S的最短长度是多少. 思路:利用KMP算法,答案就是n-next[n].证明例如以下: 图太渣了... 另一种 ...
- [Baltic2009]Radio Transmission
bzoj 1355: [Baltic2009]Radio Transmission http://www.lydsy.com/JudgeOnline/problem.php?id=1355 Time ...
- [bzoj1355][Baltic2009]Radio Transmission_KMP
Radio Transmissio bzoj-1355 Description 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. Inp ...
- 1355: [Baltic2009]Radio Transmission
Time Limit: 10 Sec Memory Limit: 64 MB Submit: 958 Solved: 659 [Submit][Status][Discuss] Descripti ...
- bzoj1355【Baltic2009】Radio Transmission
1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec Memory Limit: 64 MB Submit: 649 Solved: ...
- 【KMP】Radio Transmission(最小循环子串)
[KMP]Radio Transmission(最小循环子串) Description 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. ...
- P4391 [BOI2009]Radio Transmission 无线传输(Kmp)
[BOI2009]Radio Transmission 无线传输 - 洛谷https://www.luogu.com.cn/problem/P4391 #include <iostream> ...
- Radio Transmission
请读者在阅读前充分理解KMP与其失配函数的意义. [BOI2009] Radio Transmission 无线传输 题目描述 给你一个字符串 s 1 s_1 s1,它是由某个字符串 s 2 s_2 ...
- P4391 [BOI2009]Radio Transmission 无线传输
呐呐呐题面 这题可以说是kmp的简化版,也就是说只用求一下next数组,答案输出为n-next[n],那么为什么呢,其实这也很好想,next[i]存储的是下标为i的前缀与从头开始最长的相同前缀的尾下标 ...
最新文章
- samtools merge_【生信工具】Samtools 安装与使用 | “十年以后,工具难免沦为朋友”...
- Docker Gogs
- 机器学习特征构建_使用Streamlit构建您的基础机器学习Web应用
- 这些棘手的Java面试题,答案你都知道吗?
- python列表字典_Python常用对字典、列表的操作
- jquery 访问.ashx ashx取所传参数的值
- Python编码详解
- iphone 开发内存管理 心得
- python量化交易通达信_分享一个可以实战的量化交易策略(适用于通达信系统)...
- 2007年网络安全技术发展分析
- 马尔科夫随机场:定义、性质,最大后验概率问题,能量最小化问题
- 科普│串联质谱分析仪(ESI离子源)之离子阱质谱仪
- java浅_浅谈Java浅层复制和深层复制
- Linguistic Regularities in Continuous Space Word Representations
- 农产品区块链溯源:疫情催使下的农产品认知升级
- 计算机硬盘容量单位换算,为什么新硬盘容量不对是什么原因?原来是硬盘容量单位换算的问题...
- 我的Serverless实战—基于Serverless搭建一个简单的WordPress个人博客图文详解-JJZ
- 最满意的10款PC 软件分享
- Android源码下载教程
- 【深度学习小常识】什么是mAP?
热门文章
- 图片/容器/字体 透明度[opacity:0.4; filter:alpha(opacity=40)]
- ASP.NET MVC过滤器(一)
- LR接口测试---基于http协议之get/post
- POJ 2828 Buy Tickets 线段树
- leetcode算法题--数组中两个数的最大异或值
- leetcode算法题--飞机座位分配概率
- leetcode算法题--骑士拨号器
- BPEL 语言介绍和应用
- 【HDU4507】恨7不成妻
- javascript 关键字使用(break continue return) 数组 函数 数组中的冒泡排序(3分钟全部写完)...