博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-2087-剪花布条
阅读量:6509 次
发布时间:2019-06-24

本文共 1049 字,大约阅读时间需要 3 分钟。

链接:https://vjudge.net/problem/HDU-2087

题意:

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

思路:

KMP模板,算得时候, 当j移到尾部时,res+1,j置为0,再继续。

代码:

#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const int MAXN = 1e3 + 10;int Next[MAXN];int lena, lenb;string a, b;void Get_Next(){ int i = 0; int k = -1; Next[i] = k; while (i < lenb) { if (k == -1 || b[k] == b[i]) { k++; i++; if (b[k] == b[i]) Next[i] = Next[k]; else Next[i] = k; } else k = Next[k]; }}int Kmp(){ int i = 0,j = 0; int res = 0; while (i < lena) { if (j == -1 || a[i] == b[j]) i++,j++; else j = Next[j]; if (j == lenb) { res++; j = 0; } } return res;}int main(){ while (cin >> a) { if (a[0] == '#') break; cin >> b; lena = (int)a.length(); lenb = (int)b.length(); memset(Next, 0, sizeof(Next)); Get_Next(); cout << Kmp() << endl; } return 0;}

  

转载于:https://www.cnblogs.com/YDDDD/p/10505802.html

你可能感兴趣的文章
NB-IoT的成功商用不是一蹴而就
查看>>
九州云实战人员为您揭秘成功部署OpenStack几大要点
查看>>
1.电子商务支付方式有哪些 2.比较不同支付方式的优势劣势
查看>>
医疗卫生系统被爆漏洞,7亿公民信息泄露……
查看>>
神秘函件引发的4G+与全网通的较量
查看>>
CloudCC:智能CRM究竟能否成为下一个行业风口?
查看>>
追求绿色数据中心
查看>>
Web开发初学指南
查看>>
OpenStack Days China:华云数据CTO郑军分享OpenStack创新实践
查看>>
探寻光存储没落的真正原因
查看>>
高通64位ARMv8系列服务器芯片商标命名:Centriq
查看>>
中国人工智能学会通讯——融合经济学原理的个性化推荐 1.1 互联网经济系统的基本问题...
查看>>
盘点大数据商业智能的十大戒律
查看>>
戴尔为保护数据安全 推出新款服务器PowerEdge T30
查看>>
今年以来硅晶圆涨幅约达40%
查看>>
构建智能的新一代网络——专访Mellanox市场部副总裁 Gilad Shainer
查看>>
《数字视频和高清:算法和接口》一导读
查看>>
《中国人工智能学会通讯》——6.6 实体消歧技术研究
查看>>
如何在Windows查看端口占用情况及查杀进程
查看>>
云存储应用Upthere获7700万美元股权债务融资
查看>>