AcWing 831. KMP字符串

简介: AcWing 831. KMP字符串

活动 - AcWing

#include <iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
const int N = 1e6 +10 ;
char s[N] , p[N] ;
int n , m ;
int ne[N] ;
int main(){
  cin >> n >> p + 1  >> m >> s + 1 ;
  for(int i = 2, j = 0 ; i <= n ; i ++){
    while(j && p[i] != p[j+1]) j = ne[j] ;
    if(p[i] == p[j+1]) j ++ ;
    ne[i] = j ;
  }  
  for(int i = 1,j = 0 ; i <= m ; i ++){
    while(j && s[i] != p[j+1]) j = ne[j] ;
    if(s[i] == p[j+1]) j ++ ;
    if(j == n ){
      printf("%d ", i - n) ; 
      j = ne[j] ;
    }
  }
  
  return 0 ;
}
目录
相关文章
|
jenkins Java Devops
【DevOps】Idea 集成 jenkins 插件
【DevOps】Idea 集成 jenkins 插件
1989 0
【DevOps】Idea 集成 jenkins 插件
|
图形学 开发者 搜索推荐
Unity Asset Store资源大解密:自制与现成素材的优劣对比分析,教你如何巧用海量资产加速游戏开发进度
【8月更文挑战第31天】游戏开发充满挑战,尤其对独立开发者或小团队而言。Unity Asset Store 提供了丰富的资源库,涵盖美术、模板、音频和脚本等,能显著加快开发进度。自制资源虽具个性化,但耗时长且需专业技能;而 Asset Store 的资源经官方审核,质量可靠,可大幅缩短开发周期,使开发者更专注于核心玩法。然而,使用第三方资源需注意版权问题,且可能需调整以适应特定需求。总体而言,合理利用 Asset Store 能显著提升开发效率和项目质量。
439 1
|
SQL 测试技术 流计算
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用问题之整库批量实时同步是什么意思
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
104 0
|
NoSQL Redis
RedisUtils+切面日志
redis常用工具类,包括string/hash/list/set基本类型操作,redisson发布订阅功能
|
消息中间件 JavaScript 小程序
领域驱动设计(DDD)的几种典型架构介绍
领域驱动设计(DDD)的几种典型架构介绍
|
存储 Java Maven
maven的安装教程以及nexus私服配置
建立自己的maven仓库,方便快捷Java开发
maven的安装教程以及nexus私服配置
|
SQL 存储 分布式计算
Presto架构原理
Presto架构原理
684 0
Presto架构原理
|
机器学习/深度学习 算法 数据挖掘
【阿旭机器学习实战】【12】决策树基本原理及其构造与使用方法
【阿旭机器学习实战】【12】决策树基本原理及其构造与使用方法
【阿旭机器学习实战】【12】决策树基本原理及其构造与使用方法