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 ;
}
目录
打赏
0
0
0
0
24
分享
相关文章
【DevOps】Idea 集成 jenkins 插件
【DevOps】Idea 集成 jenkins 插件
1781 0
【DevOps】Idea 集成 jenkins 插件
Unity Asset Store资源大解密:自制与现成素材的优劣对比分析,教你如何巧用海量资产加速游戏开发进度
【8月更文挑战第31天】游戏开发充满挑战,尤其对独立开发者或小团队而言。Unity Asset Store 提供了丰富的资源库,涵盖美术、模板、音频和脚本等,能显著加快开发进度。自制资源虽具个性化,但耗时长且需专业技能;而 Asset Store 的资源经官方审核,质量可靠,可大幅缩短开发周期,使开发者更专注于核心玩法。然而,使用第三方资源需注意版权问题,且可能需调整以适应特定需求。总体而言,合理利用 Asset Store 能显著提升开发效率和项目质量。
297 0
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
如何在Python中使用线性回归进行房价预测
线性回归是一种常见的机器学习模型,可以用于预测连续变量的值。在房产市场中,房价预测是一个重要的问题。本文将介绍如何使用Python中的线性回归模型来进行房价预测,包括数据集准备、模型训练和预测等方面的详细步骤和示例。
|
9月前
acwing 1113 红与黑
acwing 1113 红与黑
46 0
|
9月前
acwing 1107 魔板
acwing 1107 魔板
38 0
|
9月前
acwing 173 矩阵距离
acwing 173 矩阵距离
46 0
|
9月前
acwing 1106 山峰和山谷
acwing 1106 山峰和山谷
42 0
|
9月前
acwing 275 传纸条 (线性dp)
acwing 275 传纸条 (线性dp)
38 0
Linux版百度网盘丨直接在服务器SSH命令行中使用百度云,轻松解决数据传输和分享难题
Linux版百度网盘丨直接在服务器SSH命令行中使用百度云,轻松解决数据传输和分享难题
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问