呐呐呐题面

这题可以说是kmp的简化版,也就是说只用求一下next数组,答案输出为n-next[n],那么为什么呢,其实这也很好想,next[i]存储的是下标为i的前缀与从头开始最长的相同前缀的尾下标,故next[n]表示的也就是除去第一个循环节之外的其他长度

#include<set>
#include<map>
#include<list>
#include<queue>
#include<stack>
#include<string>
#include<cmath>
#include<ctime>
#include<vector>
#include<bitset>
#include<memory>
#include<utility>
#include<cstdio>
#include<sstream>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1000005;int n;
char s[N];
int next[N];void getnext(){for(int i=2,j=0;i<=n;i++){while(s[i]!=s[j+1]&&j){j=next[j];}if(s[i]==s[j+1]){j++;}next[i]=j;}
}int main(){scanf("%d",&n);cin>>(s+1);getnext();printf("%d\n",n-next[n]);return 0;
}

  我还是得抽时间整理一下kmp完整版和简化版的区别,有点略混。。

转载于:https://www.cnblogs.com/hahaha2124652975/p/11146673.html

P4391 [BOI2009]Radio Transmission 无线传输相关推荐

  1. P4391 [BOI2009]Radio Transmission 无线传输(Kmp)

    [BOI2009]Radio Transmission 无线传输 - 洛谷https://www.luogu.com.cn/problem/P4391 #include <iostream> ...

  2. 洛谷 P4391 [BOI2009]Radio Transmission 无线传输(KMP)

    假设字串长度为 x,字符串从 1 开始计数 next[1]=next[2]=--next[x]=0 next[x+1]=1 next[x+n]=n 发现从 x+1 位置开始,next 数组逐渐递增 1 ...

  3. Radio Transmission

    请读者在阅读前充分理解KMP与其失配函数的意义. [BOI2009] Radio Transmission 无线传输 题目描述 给你一个字符串 s 1 s_1 s1​,它是由某个字符串 s 2 s_2 ...

  4. [BZOJ1355][Baltic2009]Radio Transmission

    [BZOJ1355][Baltic2009]Radio Transmission 试题描述 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多 ...

  5. [Baltic2009]Radio Transmission

    bzoj 1355: [Baltic2009]Radio Transmission http://www.lydsy.com/JudgeOnline/problem.php?id=1355 Time ...

  6. 【KMP】Radio Transmission(最小循环子串)

    [KMP]Radio Transmission(最小循环子串) Description 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. ...

  7. bzoj1355【Baltic2009】Radio Transmission

    1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec   Memory Limit: 64 MB Submit: 649   Solved:  ...

  8. BZOJ1355: [Baltic2009]Radio Transmission

    题目大意:给出一个字符串,已知它是一个字符串S不断反复后构成的无限长的字符串的一个子串,求S的最短长度是多少. 思路:利用KMP算法,答案就是n-next[n].证明例如以下: 图太渣了... 另一种 ...

  9. 1355: [Baltic2009]Radio Transmission

    Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 958  Solved: 659 [Submit][Status][Discuss] Descripti ...

最新文章

  1. UVa12096.The SetStack Computer
  2. au加载默认的输入和输出设备失败_Mac OS X的音频输入输出时如何调整音量
  3. 力扣算法题—045跳跃游戏二
  4. linux 内核生成
  5. 团队作业6-项目总结
  6. redisson redlock(基于redisson框架和redis集群使用分布式锁)
  7. A % B Problem
  8. 本地编译Hadoop2.8.0源码总结和问题解决(转自:http://blog.csdn.net/young_kim1/article/details/50324345)
  9. RAP框架练习(续)
  10. Blender学习笔记:齿轮模型建立
  11. 软件测试工程师--面试题
  12. 基于业务流程管理框架的企业敏捷性研究
  13. 9大开源云管理平台(CMP)
  14. 基于ssm的酒店客房管理系统(含数据库结构文档)
  15. Activiti工作流会签设计
  16. code force 449 div2 C. Nephren gives a riddle
  17. UDP重传,似牛非马。。。
  18. 英文美文欣赏之《小王子》
  19. 古籍、中国通史、诗经、辞、、四书五经、诸子百家、四大名著、唐诗、宋词、明清小说、四库全书
  20. Android运用手机多媒体

热门文章

  1. 业务基础平台产品的现状和发展
  2. docker d盘_windows修改docker的默认存放位置
  3. php ajax轮询推送,[PHP]PHP+AJAX实现轮询代码
  4. 树莓派3b python3.6.1 SSL模块调用不起来的坑
  5. Vue.js 2.x render 渲染函数 JSX
  6. BZOJ1103: [POI2007]大都市meg
  7. 在Windows QT下使用ZeroMQ
  8. JS中Node节点总结
  9. docker install
  10. 实现百度地图导航Demo的语音播报功能