lanqiao oj 1628 最短循环节问题

简介: lanqiao oj 1628 最短循环节问题

用户登录

#include<iostream>
#include<algorithm>
#include<cstring>
 
using namespace std ; 
const int N = 1e6 +10 ;
char s[N] ;
int n ; 
int ne[N] ;
int main(){
  cin >> n ; 
  cin >> s + 1;
  int minn = 1e9 ; 
  for(int i = 2 , j = 0; i <= n ;i ++){
    while(j && s[i] != s[j+1]) j = ne[j] ;
    if(s[i] == s[j+1]){
      minn = min(minn, i - j - 1 ) ;
    }
    ne[i] = j ; 
  }
  
  cout << minn << endl ;
  return 0 ;
}
目录
相关文章
|
3月前
lanqiao OJ 1030 蓝肽子序列
lanqiao OJ 1030 蓝肽子序列
42 2
|
3月前
lanqiao OJ 108 发现环
lanqiao OJ 108 发现环
19 1
|
3月前
lanqiao OJ 3513 岛屿个数(2023省赛)
lanqiao OJ 3513 岛屿个数(2023省赛)
20 2
|
3月前
acwing 902 最短编辑距离
acwing 902 最短编辑距离
20 1
|
3月前
lanqiao OJ 649 算式900
lanqiao OJ 649 算式900
21 1
|
3月前
|
人工智能 Java BI
lanqiao OJ 111 区间位移
lanqiao OJ 111 区间位移
16 0
|
3月前
lanqiao OJ 641 迷宫
lanqiao OJ 641 迷宫
37 0
|
8月前
【错题集-编程题】最长上升子序列(二)(贪心 + 二分)
【错题集-编程题】最长上升子序列(二)(贪心 + 二分)
|
8月前
代码随想录Day45 动态规划13 LeetCode T1143最长公共子序列 T1135 不相交的线 T53最大子数组和
代码随想录Day45 动态规划13 LeetCode T1143最长公共子序列 T1135 不相交的线 T53最大子数组和
73 0
|
算法
代码随想录算法训练营第五十三天 | LeetCode 1143. 最长公共子序列、1035. 不相交的线、53. 最大子数组和
代码随想录算法训练营第五十三天 | LeetCode 1143. 最长公共子序列、1035. 不相交的线、53. 最大子数组和
64 1

热门文章

最新文章

下一篇
开通oss服务