news 2026/2/3 21:07:25

【ACWing】4187. 剪花布条

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ACWing】4187. 剪花布条

题目地址:

https://www.acwing.com/problem/content/4190/

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

输入格式:
输入数据为多组数据,读取到#字符时结束。每组数据仅有一行,为由空格分开的花布条和小饰条。花布条和小饰条都是用可见ASCII字符表示的,不会超过1000 10001000个字符。

注意:这个#应为单个字符。若某字符串开头有#,不意味着读入结束!

输出格式:
对于每组数据,输出一行一个整数,表示能从花纹布中剪出的最多小饰条个数。

数据范围:
对于全部数据,字符串长度≤ 1000 ≤10001000

KMP。代码如下:

#include<iostream>#include<vector>usingnamespacestd;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);string s,p;staticautobuild_ne=[](string&p){intn=p.size()-1;vector<int>ne(p.size());for(inti=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;}returnne;};while(cin>>s){if(s=="#")break;cin>>p;intn=s.size(),m=p.size();s=" "+s;p=" "+p;autone=build_ne(p);intres=0;for(inti=1,j=0;i<=n;i++){while(j&&s[i]!=p[j+1])j=ne[j];if(s[i]==p[j+1])j++;if(j==m){res++;j=0;}}printf("%d\n",res);}}

每个数据时间复杂度O ( l s + l p ) O(l_s+l_p)O(ls+lp),空间O ( l p ) O(l_p)O(lp)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 19:46:05

电商系统中的日期转换实战:Date与LocalDate互转

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个电商订单时间处理模块&#xff0c;包含以下功能&#xff1a;1) 将数据库存储的Date类型转换为LocalDate用于前端展示&#xff1b;2) 处理不同时区的订单时间转换&#xff1…

作者头像 李华
网站建设 2026/2/1 13:23:33

1小时开发:用Pytdx打造简易股票分析看板

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个股票数据分析看板原型&#xff0c;功能包括&#xff1a;1)通过Pytdx获取多只股票实时数据&#xff1b;2)绘制交互式K线图&#xff1b;3)计算并显示常用技术指标&#x…

作者头像 李华
网站建设 2026/1/31 5:26:57

ms.js终极指南:3分钟掌握JavaScript时间转换技巧

ms.js是一个轻量级的毫秒转换工具库&#xff0c;专门用于JavaScript中的时间格式与毫秒之间的便捷转换。无论你是前端开发者还是Node.js工程师&#xff0c;这个库都能帮你轻松处理时间格式化问题。 【免费下载链接】ms 项目地址: https://gitcode.com/gh_mirrors/msj/ms.js …

作者头像 李华
网站建设 2026/2/3 10:10:10

深入Windows系统底层:从注册表到服务开发的进阶指南

一、Windows 注册表深度解析&#xff1a;系统配置的核心数据库​​1.1 注册表的结构与核心组件​在 Windows 系统的庞大体系中&#xff0c;注册表堪称是最为关键的核心数据库之一&#xff0c;它就像一个精心构建的大型仓库&#xff0c;存储着系统硬件配置、用户个性化设置以及各…

作者头像 李华
网站建设 2026/2/3 9:21:42

AI如何帮你高效使用git clone -b命令

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个AI辅助工具&#xff0c;能够根据用户输入的仓库URL&#xff0c;自动分析该仓库的分支结构&#xff0c;推荐最可能需要的分支名称&#xff0c;并生成完整的git clone -b命令…

作者头像 李华