hdu 2087 剪花布条 (KMP)

【HDU 2087】 剪花布条 KMP 剪花布条 Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 32629Accepted Submission(s): 19911 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面... 阅读详情

剪花布条

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 21303    Accepted Submission(s): 13313


Problem Description
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?
 

Input
输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
 

Output
输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。
 

Sample Input
  
abcde a3 aaaaaa aa #
 

Sample Output
  
0 3
 

Author
qianneng
 

Source
 

Recommend
lcy

思路:这题需要对KMP的匹配有一定的理解,只要匹配完了之后再从模板串的开头从新匹配就行了。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define MAX_N 1005
using namespace std;
char t[MAX_N],p[MAX_N];
int ne[MAX_N];
void makeNext(const char p[],int ne[])
{
    int len=strlen(p);
    ne[0]=0;
    for(int i=1,k=0;i<len;i++)
    {
        while(k>0&&p[i]!=p[k]) k=ne[k-1];
        if(p[i]==p[k]) k++;
        ne[i]=k;
    }
}
int kmp(const char t[],const char p[],int ne[])
{
    int n=strlen(t),m=strlen(p),ans=0;
    makeNext(p,ne);
    for(int i=0,k=0;i<n;i++)
    {
        while(k>0&&t[i]!=p[k]) k=ne[k-1];
        if(t[i]==p[k]) k++;
        if(k==m)
        {
            ans++;
            k=0;
        }
    }
    return ans;
}
int main()
{
    while(~scanf("%s",t))
    {
        if(t[0]=='#') break;
        scanf("%s",p);
        printf("%d\n",kmp(t,p,ne));
    }
    return 0;
}


【HDU】2087 剪花布条 (KMP算法的应用) 可以参考:从头彻尾彻底理解KMP 可以用朴素的模式匹配算法,也可以使用KMP算法,KMP算法所用的时间较短 普通版 #include <iostream> #include <string> using namespace std; int main () { string s1,s2; while(cin >> s1) { if(s1==... 阅读详情

相关推荐

hdu2087剪花布条(KMP)

题目链接:剪花布条 考查知识:KMP 题意描述:花布条字符串中能切割出多少小饰条字符串 思路简析:KMP板子题呦(❁´◡‘❁)(❁´◡`❁)(❁´◡‘❁) 具体代码:#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e7; int Next[N]; void getNext(string s,int Next[]){ Next[0]=-1; int i=0,j=-1;//后缀指针i.

勿忘勿失的博客 626

HDU 2087 剪花布条(字符串匹配,KMP)

HDU 2087 剪花布条(字符串匹配,KMP) Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条...

dipinzhu4111的博客 172

载波同步技术(一):BPSK的Costas Loop 载波同步

Author:McCrocodile 2010/11/04          载波的提取在相干解调中往往比较重要,根据信号中是否包含载频分量,载波同步一般也可以分为两种方法。包含载频分量的可以采用窄带滤波或者基本的锁相环环路来实现,不包含的则比较麻烦需要采用特殊的环路实现载波的同步。这里介绍的BPSK的载波恢复就属于后面一种。 对于不包含载频分量的信号载波同步一般有:同相-正交环(就是常说的Costas环)、判决反馈环(几乎可以适用所有调制方式)、同相-正交环衍生环(QPSK松尾环、N相同相-正交环)。

McCrocodile Blog 1万+

hdu 2087 剪花布条 kmp小水

剪花布条 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3083    Accepted Submission(s): 2079 Problem Description 一块花布条,里面有些图案,另有一块直接可用

hnust_xiehonghao的专栏 5606

一文讲透什么是ADC/DAC中的DDC、DUC、采样率以及数据率等概念

摘要:ADC/DAC中的采样率与数据率概念不同,采样率是转换器的时钟速率,而数据率是数字输出的实际速率。抽取通过滤波降低数据速率,提升信噪比但牺牲带宽;内插则通过插零和滤波提高采样率,将镜像信号移远但增加延迟和功耗。JESD204B标准的高速转换器需平衡通道数与串行速率,内插/抽取技术是关键。文章还解析了DDC、DUC的应用及优缺点,为高速数据转换设计提供参考。(150字)

weixin_49761275的博客 4268

STM32 WinUSB免驱实现:从DFU模式到高速通信的实战指南

本文详细介绍了STM32 WinUSB免驱实现方案,从DFU模式到高速通信的完整实战指南。通过修改设备描述符、添加BOS描述符和实现WCID描述符集,开发者可以轻松实现即插即用的USB设备,无需额外安装驱动。文章还提供了性能优化技巧和实际应用案例,帮助开发者快速部署高效稳定的USB通信方案。

weixin_29171087的博客 422

HDU 2087:剪花布条(KMP算法)

输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。下面就是大家喜欢的AC代码;

a10b12c13d14e15的博客 377

从ADS到SystemVue:当简单链路预算不够用时,我的射频系统级仿真方案升级实录

本文详细介绍了从ADS到SystemVue的射频系统级仿真升级路径,重点分析了基础链路预算在多端口元件和复杂场景下的局限性,并提供了SystemVue在非线性系统验证和跨域协同分析中的优势。通过实际案例展示了如何平滑迁移工具链,提升仿真精度和效率,适用于5G、毫米波雷达等现代射频系统设计。

weixin_34233974的博客 343

hdu 2087 剪花布条 KMP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 分析:字符串匹配次数统计,注意题目的应用情景, 由于是剪布条,所以匹配之后要清零。 /*剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S...

weixin_30569153的博客 181

假期搞定!2026国社科申报AI全攻略指南:从选题到创新,7大核心要点手把手教你!

最后给大家推荐的400多所高校教师都在用的AI平台——高级学术版专业应用平台,集成了国际主流学术应用,以及ChatGPT、Claude、Gemini、Grok等Al大模型的高级版本平台,还有,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。你的任务是:用高度凝练的方式说明在(某一明确国家战略 / 政策方向,如:中国式现代化、共同富裕、基层治理现代化、数字中国、文化强国、国家安全等)背景下,我究竟要研究一个什么“具体而可操作的问题”。

智能AI让学术科研更容易 624

WPF+MVVM案例实战(二十三)- 阴影效果详解

通过附加属性实现阴影效果,通过改变不同的阴影属性值达到不同阴影效果

lingshuangcanxue 560

HDU - 2087 剪花布条 KMP查找子串,不能有重叠

HDU - 2087 剪花布条 思路: 在查找时每当匹配成功,将 j=0 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; using namespace std; const int maxn=1000010; int nxt[maxn]; char a[maxn],b[maxn]; int ...

没有梦想何以远行 178

【Bug已解决】Codex CLI 报错 You‘ve hit your usage limit 解决方案

Codex CLI 密集使用时触发 You've hit your usage limit 限流报错,本质是订阅套餐额度机制在正常发挥作用。文中给出等待滚动重置、拆分大任务、主动管理上下文、升级套餐、团队排队机制等完整解决方案。

博客 1万+

hdu 2087 剪花布条 KMP水题。。

Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。 Output 输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出

Lionel 1613

30、模态组合规则在振动分析中的应用

本文详细介绍了模态组合规则在振动分析中的应用,重点讨论了绝对峰值叠加法(SRSS)和完全二次组合(CQC)的理论基础、应用场景及优缺点。通过具体工程实例,展示了模态组合规则在地震载荷下结构响应分析中的实际效果,并提供了应用步骤和注意事项,为结构设计和安全评估提供了科学依据。

nice1的博客 222

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

HDU 2087剪花布条(KMP)

每组数据包含两个字符串 s,t,分别是成对出现的花布条和小饰条,其布条都是用可见 ASCII 字符表示的,可见的 ASCII 字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过 1000 个字符长。一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?对应每组输入,输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就输出 0,每个结果占一行。

张辰宇的博客 272

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

HDU 2087剪花布条 (kmp)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 剪花布条 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15563    Accepted Submission(

hkh746392783的专栏 292

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

hdu 1686(Oulipo) KMP基础题 / hdu 2087(剪花布条)KMP基本运用

题目太长自己叙述吧! 原题链接地址:http://acm.hdu.edu.cn/showproblem.php?pid=1686 输入:t代表测试实例 第一行:模式串 第二行:匹配串 问模式串在匹配串中出现的次数。 3 BAPC BAPC AZA AZAZAZA VERDI AVERDXIVYERDIAN 上面的三个实例的输出分别为:1 3 0 KMP算...

weixin_30569153的博客 190

HDU 2087 - 剪花布条(KMP)

题目链接:HDU - 2087 剪花布条 Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) ...

Ripcord丶的博客 348

hdu 2087 剪花布条 - KMP

    Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)    Total Submission(s): 15406Accepted Submission(s): 9766 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小...

adx33526的博客 120

HDU2087 剪花布条 [KMP]

剪花布条 Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64uDescription 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都

C'est la vie. 422

hdu 2087 剪花布条(KMP)

目录问题分析代码 问题 hdu 2087 剪花布条 - https://acm.hdu.edu.cn/showproblem.php?pid=2087 分析 模式串P的长度为 iii 的前缀的最长公共前后缀 f[i]f[i]f[i] 下标从0开始,长度 iii 前缀的下一个字符下标为 iii 代码 /* hdu 2087 剪花布条 */ #include<bits/stdc++.h> using namespace std; const int MXN = 10010; int f[MXN]

jpphy0的博客 176

KMP-剪花布条-HDU - 2087

KMP-剪花布条-HDU - 2087 题目: 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#...

njuptACMcxk的博客 240

HDU 2087 剪花布条 KMP

题意:给一串字符串,和一串模式串,求出原串可以剪出多少个模式串 思路:KMP匹配成功后返回模式串头继续匹配原串下一个字符 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<vector> #include<queue> ...

qq_42397248的博客 184

kuangbin专题十六 KMP&&扩展KMP HDU2087 剪花布条

kuangbin专题十六 KMP&amp;&amp;扩展KMP HDU2087 剪花布条 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见...

ACMerszl的博客 133

【kmp字符串匹配】hdu 2087 剪花布条

hdu 2087 剪花布条http://acm.hdu.edu.cn/showproblem.php?pid=2087问题描述:字符串匹配次数,匹配成功模主串失效思路kmp()算法。if(j>=m)成功匹配模式串从0开始继续匹配,用时计数参考代码 #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #includ

Hacker_vision 479
上一篇: hdu 1686 Oulipo (KMP裸题)
下一篇: hdu 1711 Number Sequence (KMP)
Timeclimber
博客等级 码龄9年 25粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值