[bzoj1355][Baltic2009]Radio Transmission_KMP
Radio Transmissio bzoj-1355
Description
Input
Output
我们假设红色对角线字符子串是我们想要得到的字符串长度。蓝线是题目字符串截至位置。绿色字符串是除去答案字符串的长度。那么我们如何求出答案长度呢?显然,我们用next求出最长前缀后缀,然后相减即可。题目中的最长前缀后缀是上面扩出的两个字符串
最后,附上丑陋的代码... ...
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char s[1001000];
int next[1001000];
int len;
void GetNext()
{int j=0,k=-1;next[0]=-1;while(j<len){if(k==-1||s[j]==s[k]){k++;j++;next[j]=k;}else k=next[k];}
}
int main()
{scanf("%d",&len);scanf("%s",s);GetNext();printf("%d\n",len-next[len]);
}
小结:KMP的精髓在于数组的灵活应用,而不是KMP本身
转载于:https://www.cnblogs.com/ShuraK/p/8626670.html
[bzoj1355][Baltic2009]Radio Transmission_KMP相关推荐
- [BZOJ1355][Baltic2009]Radio Transmission
[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 ...
- 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: ...
- 基础省选+NOI-第6部分 字符串
1.Kmp KMP算法 KMP算法_哔哩哔哩_bilibili KMP算法计算next函数值(教材版,超简单!) KMP算法计算next函数值(教材版,超简单!)_哔哩哔哩_bilibili KMP算 ...
- linux升级openssl需要先卸载吗,linux下安装/升级openssl
(2810) (1) 安装环境: 操作系统:CentOs7 OpenSSL Version:openssl-1.0.2j.tar.gz 安装: 目前版本最新的SSL地址为 备注:进入http://w ...
- Loj一本通刷题记录
夏令营回来后就不知道怎么回事,状态一直不好== 为了让自己不要太颓废,开个坑在noip前把一本通的好题都刷一遍. 如果想要noip拿省一的话,就要开始好好努力了.加油! 为了节省时间,一些比较简单的东 ...
- CSS3重新定义input中呆若木鸡的默认复选框CheckBox和单选框Radio样式
<!DOCTYPE html> <html> <head><meta charset="UTF-8"><style>/* ...
最新文章
- 区分什么是Apache、Tomcat,之间有什么关系?
- linux六种进程状态,Linux操作系统中进程的七种状态
- Http中涉及到的知识点总结
- java线程池拒绝策略_Java核心知识 多线程并发 线程池原理(二十三)
- matlab中if语句的用法_if语句的基本用法
- zipline-benchmarks.py文件改写
- c++类型形参的实参的受限转换
- 邵阳市工业学校计算机29班,邵阳市南门口大祥区沙子坡文明路11号计算机学校...
- 如何去除计算机的访问限制,访问限制达成,教你如何禁止别人访问你电脑的C盘...
- 【线性代数公开课MIT Linear Algebra】 第六课 AX=b与列空间、零空间
- Aspectj切入点语法定义
- 安卓用targetSdk来兼容各个版本
- 推荐系统中传统模型——LightGBM + FFM融合
- android 移除泛型中元素_Android 代码混淆 混淆方案
- cenos 安装 Docker
- 定时任务cron表达式工具
- python进行回归方程显著性检验
- 19寸宽屏液晶显示器的设置 有效保护视力
- 教育行业网络安全等级保护法律法规参考
- 利用BSCScan获取账户交易记录