</pre><pre name="code" class="cpp">#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=10005;
const int MAXN=1000005;
/*
void _next(const char *s,int *next)
{
// 以数组的下标表示已经匹配的字符数 ,以下标对应的数据存储 真后缀(自身最长前缀)的长度
int i,j,n=strlen(s);
next[0]=-1;//
for(j=-1,i=0;i<n;++i){
while(j!=-1&&s[i]!=s[j]){
j=next[j];
}
next[i+1]=++j;
}
}
*/
void _next(const char *s,int *next)
{
// 以数组的下标表示已经匹配的字符数 ,以下标对应的数据存储 真后缀(自身最长前缀)的长度
next[0]=-1;//
int j=-1;
for(int i=1;s[i];++i){
while(j!=-1&&s[i]!=s[j+1]){
j=next[j];
}
if(s[i]==s[j+1])j++;
next[i]=j;
}
}
int kmp(char *a,char *b,int *next){
int i,j=-1,ret=0;
for(i=0;a[i];i++){
while(j!=-1&&a[i]!=b[j+1])j=next[j];
if(a[i]==b[j+1])j++;
if(!b[j+1]){
ret++;
j=next[j];
}
}
return ret;
}
int main()
{
char w[N],t[MAXN];
int T,next[N];
bool first=true;
cin>>T;
while(T--){
memset(next,0,sizeof(next));
if(first){
getchar();
first=false;
}
gets(w);
gets(t);
_next(w,next);
//for(int i=0;i<strlen(w);i++)cout<<next[i]<<endl;
printf("%d\n",kmp(t,w,next));
}
return 0;
}
相关推荐
KMP算法例题Oulipo题解
KMP算法的一个经典题题解,
1455 Oulipo
1455 Oulipo 给定两个字符串,求第一个字符串在第二个字符串中出现了几次,这不就是KMP?(为什么我总觉得是KMP,可能是我喜欢吃烤馍片吧) 其实hash还是挺简单的,就是一个模板的题 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int SIZE=1e4+5; char a[SIZE],b[SIZE]; int p[SIZE]; int hash[SIZE]; int base=27,m
架构——异地多活成熟的架构模式
摘要: 本文系统介绍了三种异地多活架构模式:业务定制型、业务通用型和存储通用型。业务定制型针对核心业务定制化设计,复杂度低但扩展性差;业务通用型通过统一配套服务(流量调度、配置中心等)实现多业务兼容,适合业务量大但一致性要求不高的场景;存储通用型依托分布式一致性数据库(如OceanBase、TiDB)天然支持强一致性,适合金融等高要求场景,但对部署距离和成本有较高限制。文章对比了各模式的优缺点及适用场景,为不同业务需求下的架构选型提供了实践指导。
kmp(Oulipo例题)理解
kmp(Oulipo例题)理解
视觉SLAM与激光SLAM简单对比分析
本文旨在梳理目前较为前沿的SLAM技术,包括激光和视觉,主要从精度和实时性两个方面对算法进系评价。对于激光SLAM了解不深,后期需要补充相关算法的核心思想与算法框架。有问题请大佬们随时留言,我再改正。
SpotBugs实战:10大类Bug检测规则详解与代码优化实例(附避坑清单)
本文深入解析SpotBugs在Java开发中的实战应用,详细讲解10大类Bug检测规则与代码优化实例,包括NPE防御、多线程安全、性能优化等关键问题。通过具体代码示例和避坑清单,帮助开发者提升代码质量,有效集成到CI/CD流程中。
POJ3461 Oulipo
POJ3461 Oulipo 这一题是裸的kmp 总结几点: 字符串scanf读入不加& fail求的是文本串 代码: #include<iostream> #include<cstring> #include<cstdio> using namespace std; int n,ans; char w[10010],t[1000010]; int...
逆向实战:Soul聊天协议加密与Frida绕过检测
本文详细解析了Soul聊天协议逆向分析的全过程,重点介绍了如何利用Frida绕过应用的反调试检测机制。通过静态分析定位关键SO库,并编写Frida脚本动态Hook线程创建函数,成功实现对抗。文章还进一步追踪了基于DES算法的加密流程,并探讨了协议数据结构的解析方法,为移动应用安全研究提供了实战参考。
POJ 3461 Oulipo(乌力波)
POJ 3461 Oulipo(乌力波) Time Limit: 1000MS Memory Limit: 65536K 【Description】 【题目描述】 The French author Georges Perec (1936–1982) once wrote a book, La disparition, without ...
【AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Pytorch-DirectML篇)】
这篇是之前Tensorflow-DirectML的姊妹篇,如果对TF感兴趣的可以搜索我的博文。 首先我们丢一个官网地址,但是官网那个会误导新人如果你按那个操作的话。 https://docs.microsoft.com/en-us/windows/ai/directml/gpu-pytorch-windows 这里用我的方法操作: 首先声明一下,因为我的显卡是AMD RX6600,不带XT(性能和RTX3060 12G版本半斤八两),所以目前没有最新的WSL2驱动,如果有了的话欢迎告知我,所以我这里就.
1.47寸ST7789V3彩屏硬件设计与驱动调试指南
TFT LCD是一种基于薄膜晶体管阵列控制像素明暗的主动式显示技术,其核心依赖于专用驱动IC(如ST7789V3)完成时序生成、GRAM管理与伽马校正。该类小尺寸彩色显示屏广泛应用于嵌入式HMI、IoT终端与可穿戴设备,具备高PPI、低功耗和SPI接口易集成等工程优势。理解RGB565数据格式、SPI Mode 0通信时序及关键寄存器(如0x36方向控制、0x3A像素格式、0x2A/0x2B地址窗口)是实现稳定显示的基础;而正确处理电源设计(严禁5V直供)、复位时序与背光PWM调光,则直接决定系统可靠性与能
【KMP】POJ 3461 Oulipo
POJ 3461 OulipoOulipo题目链接->http://poj.org/problem?id=3461Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 45665 Accepted: 18233DescriptionThe French author Georges Perec (1936–1982) once ...
手把手教你用ESP32-S3打造智能聊天机器人-立创实战派
本文将详细介绍如何利用立创ESP32-S3开发板,烧录小智AI程序,快速实现一个功能强大的聊天机器人。
C++——KMP算法例题——Oulipo(POJ3461)
Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 38073 Accepted: 15327 Description The French author Georges Perec (1936–1982) once wrote a book, La
梯度提升决策树GBDT原理与代码实例讲解
梯度提升决策树GBDT原理与代码实例讲解 1.背景介绍 1.1 机器学习发展历程 机器学习是人工智能领域的一个重要分支,旨在使计算机具备学习和改进自身性能的能力。随着大数据时代的到来,海量的数据为机器学习算法提供了广阔的应用空间。在
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
POJ3461 Oulipo
//4_6_2: Oulipo计算单词在文本中出现的次数 POJ3461 #include #include #include using namespace std; const int maxt = 1000000 + 10; const int maxw = 10000 + 10; int cnt; int nextval[maxw]; void KMP(char s
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
机试之字符串匹配计数——POJ3461Oulipo
文章目录机试之字符串匹配计数——POJ3461Oulipo1、题目2、代码 机试之字符串匹配计数——POJ3461Oulipo 1、题目 题目链接:http://poj.org/problem?id=3461 题目大意为在文本text中找到单词W出现的次数,从而想到可以用KMP模式匹配的代码模板,再设置一个计数器cnt用来记录匹配成功的次数并返回输出即可 Oulipo Time Limit: 10...
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
POJ 3461 Oulipo(KMP:统计一个串出现的次数)
POJ 3461 Oulipo(KMP:计算一个串出现的次数) http://poj.org/problem?id=3461 题意:就是给你一个T串和P串,问你P串在T串中出现了多少次. 分析:直接套用KMP模板即可. AC代码: #include #include #include #include #include using namespace std; char T[10000
POJ3461 Oulipo KMP裸题
POJ3461 Oulipo 很裸的KMP题目,求模式串在母串中的匹配次数。 不过我最开始用的cin T了 /(ㄒoㄒ)/~~ mdzz代码#include <iostream> #include <cstring> #include <cstdio> using namespace std;char s[1000005],a[10005]; int t; int next[10005];voi
POJ 3461 Oulipo
之前比赛的时候,一道KMP的题目没有做出来,很是郁闷。最近一两天仔细研究了一下KMP,收获不少。基本的KMP思想算法什么的就不再赘述了。只是我在网上找资料的时候发现KMP的失配数组(next[])有两个版本,但是几乎没有资料将这两个版本的next[]做一个较好的分析。于是,写了这篇blog,对这两类next[]做了一个简单的分析,希望对大家有帮助,也希望大家能指出其中的错误和不足。由于直...
POJ-3461 Oulipo
题目链接:http://poj.org/problem?id=3461 题目大意: 给你两个字符串p和s,求出p在s中出现的次数。 解题思路: 这道题跟POJ2406有点相似,那道题是求abcabcabc,则就是3次。 而这道题,abababa中aba出现了3次。 区别在于,2406求的是模式串的匹配问题,而这道题求的是主串和子串的匹配问题。 关键在于那个j=nextval[j]的意
POJ 3461 Oulipo(字符串匹配,KMP算法)
题目来源:http://poj.org/problem?id=3461 Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 49522 Accepted: 19665 Description The Frenc...
355



被折叠的 条评论
为什么被折叠?



