首页 > 编程语言 >字符串算法

字符串算法

时间:2024-01-24 17:22:35浏览次数:30  
标签:s2 ll 算法 strlen 字符串 n2 nt s1

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e6+10;
char s1[N],s2[N];
ll n1,n2,nt[N],f[N];
int main(){
	cin >> (s1+1) >> (s2+1);
	n1=strlen(s1+1),n2=strlen(s2+1);
	for(ll i=2,j=0;i<=n2;i++){
		while(j>0&&s2[i]!=s2[j+1])j=nt[j];
		if(s2[i]==s2[j+1])j++;
		nt[i]=j;
	}
	for(ll i=1,j=0;i<=n1;i++){
		while(j>0&&(j==n2||s1[i]!=s2[j+1]))j=nt[j];
		if(s1[i]==s2[j+1])j++;
		f[i]=j;
	}
	for(ll i=1;i<=n1;i++)if(f[i]==n2)cout << i-n2+1 << endl;
	for(ll i=1;i<=n2;i++)cout << nt[i] << ' ';
	return 0;
}

标签:s2,ll,算法,strlen,字符串,n2,nt,s1
From: https://www.cnblogs.com/ningziang/p/17985123

相关文章

  • 数据挖掘||利用SQL Server 2012或者Excel 2013采用聚类和时序挖掘模型和算法,对自行车
    1.实验要求 利用SQLServer2012或者Excel2013(二者选择其一即可)进行数据挖掘实验,采用聚类和时序挖掘模型和算法,可以对附件中给定的excel数据进行聚类和时序挖掘实验,也可以采用自己采集的数据(如采用自选请说明数据来源)。 2.实验环境 操作系统:windows11;软件:Excel2019;SQLServer......
  • C# 两个字符串比较并储存差异
    DimBeforeValueASString="123456789"DimAfterValueASString="321465798"'用List储存差异下标,两者比对的值DimdifferencesAsNewList(Of(IndexAsInteger,BeforeAsChar,AfterAsChar))()ForiAsInteger=0ToBeforeValue.......
  • Unity3D Rts游戏里的群体移动算法是如何实现的详解
    前言实时战略(RTS)游戏是一种以管理和控制虚拟军队为主题的游戏类型。在这类游戏中,玩家需要控制大量的单位进行战斗、资源采集和建设等操作。其中,群体移动算法是实现这些操作的关键之一。本文将详细介绍Unity3DRTS游戏中群体移动算法的实现原理和代码实现。对惹,这里有一个游戏开......
  • (19)Powershell字符串合并运算符
    (19)Powershell字符串合并运算符Powershell提供了对字符串的合并运算符,连接运算符-join将一组字符串连接成单个字符串,子字符串按其在命令中出现的顺序添加到生成的字符串中。连接运算符Powershell中字符串的连接运算符的语法如下:-Join<String[]><String[]>-Join参数......
  • (18)Powershell中的字符串拆分运算符
    (18)Powershell中的字符串拆分运算符Powershell中提供了对字符串的拆分操作运算符。-split运算符将一个字符串拆分成多个字符串。拆分运算符拆分运算符用于将一个或多个字符串拆分为多个子字符串。可更改拆分操作的以下元素:(1)定界符。默认为空白,但是可指定字符、字符串、模......
  • 有挑战才有收获!PaddleOCR算法模型挑战赛火热开启!
    在数字化时代,文本和表格识别在生活和工作中扮演着越来越重要的角色。从扫描件、图片中的文字提取,到自动化录入数据、分析报表,这些场景都需要高效准确的文本识别和表格识别技术。作为PaddleOCR开源项目背后的维护者,飞桨团队一直致力于提升光学字符识别(Opticalcharacterrecognition......
  • 算法模板 v1.3.2.20240124
    算法模板v1.1.1.20240115:之前的历史版本已经不可寻,创建了第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”与“编译”-“手动开O优化”;将“编译”-“CF模板”中的第20行代码cin>>T;注释;删除“读写”及其目录下的内容;删除“图论”-“欧拉图”-“混合图”;删除“图论”-......
  • 2024/1/23 算法笔记
    1.负进制数[P1017NOIP2000提高组]进制转换-洛谷|计算机科学教育新生态(luogu.com.cn)所谓负进制数,就是进制数为负数的一种实数表示法。例如,-15(十进制)相当于110001(-2进制),并且它可以被表示为2的幂级数的和数:110001=1(-2)5+1*(-2)4+0(-2)3+0*(-2)2+0(-2)^1+1(-2)......
  • 大语言模型的架构及其训练(目标函数和优化算法)
    先占坑24号早上起来补大模型的架构 大模型的训练模型训练=目标函数+优化算法可用任何模型将token序列映射到上下文嵌入中一、目标函数1.Decoder-only模型①映射到上下文嵌入②用嵌入矩阵获得每个token得分③指数化、归一化得预测分布用负对数最大似然作为目标函数2.Encoder-o......
  • Romberg 数值积分算法+P3779 题解(马上写完)
    Romberg算法吊打Simpson的且不玄学(没有什么十五倍)的数值积分算法。缺点是过程复杂一点,但是只体现在证明上,代码很短。铺垫算法梯形求积公式公式\[\int_a^bf(x)dx\approx\frac{(f(a)+f(b))(b-a)}2\\\text{令}(1)=\frac{(f(a)+f(b))(b-a)}2\]计算梯形求积公式的误差......