acwing 141. 周期

简介: acwing 141. 周期

141. 周期 - AcWing题库

#include<iostream>
#include<algorithm>
#include<cstring>
 
using namespace std ;
const int N = 1e6 +10 ;
int n , m ;
char s[N] ;
int ne[N] ;
void get_ne(){
  memset(ne,0,sizeof(ne)) ;
  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]) j ++ ;
    ne[i] = j ; 
  }
  
}
int main(){
  int t = 0 ;
  while(cin >> n , n ){
    cin >> s+ 1;
    get_ne() ;
    printf("Test case #%d\n",++t) ;
    for(int i = 2 ; i <=n ;i ++){
      if(i %(i-ne[i]) == 0 && i /(i-ne[i]) > 1)
        printf("%d %d\n",i , i /(i-ne[i])) ;
    }
    cout << endl ;
  }
}
目录
相关文章
|
移动开发 编解码 前端开发
【面试题】前端 移动端自适应?
【面试题】前端 移动端自适应?
361 0
|
弹性计算 负载均衡 网络协议
slb健康检查方法
slb健康检查方法
315 4
|
机器学习/深度学习 传感器 自动驾驶
自动驾驶技术中的模仿学习
自动驾驶中的模仿学习是一种关键技术,用于使自动驾驶系统能够学习和模仿人类驾驶行为。通过模仿驾驶员的操作,自动驾驶车辆可以在复杂的道路环境中实现类似人类的驾驶决策和操作,从而提升安全性、舒适性和可靠性。
317 3
|
数据管理 大数据 OLAP
AnalyticDB核心概念详解:表、索引与分区
【10月更文挑战第25天】在大数据时代,高效的数据库管理和分析工具变得尤为重要。阿里云的AnalyticDB(ADB)是一款完全托管的实时数据仓库服务,能够支持PB级数据的实时查询和分析。作为一名数据工程师,我有幸在多个项目中使用过AnalyticDB,并积累了丰富的实践经验。本文将从我个人的角度出发,详细介绍AnalyticDB的核心概念,包括表结构设计、索引类型选择和分区策略,帮助读者更有效地组织和管理数据。
516 3
|
TensorFlow 算法框架/工具 C++
构建NLP 开发问题之如何将模型导出为 ONNX、TensorRT 或 Tensorflow 格式以便部署
构建NLP 开发问题之如何将模型导出为 ONNX、TensorRT 或 Tensorflow 格式以便部署
|
Linux
centos bond多网关配置 bond多网关路由
centos bond多网关配置 bond多网关路由
221 2
|
Web App开发 数据可视化
ElasticSearch使用谷歌插件安装可视化
ElasticSearch使用谷歌插件安装可视化
455 0
|
消息中间件 Java 数据库
面试题:如何保证三个数据库之间的数据一致性,如服务突然宕机
面试题:如何保证三个数据库之间的数据一致性,如服务突然宕机
295 0
|
IDE Java 应用服务中间件
【Java】已解决java.lang.ClassNotFoundException异常
【Java】已解决java.lang.ClassNotFoundException异常
4581 0