2021牛客寒假算法基础集训营4
题目链接
2021牛客寒假算法基础集训营4
B.武辰延的字符串
题目描述
众所周知,武辰延很喜欢字符串。
这天,他对着两个字符串 和 发呆,他发现这两个串的前缀有很多相似的地方, 的两个前缀连接起来竟也是 的 前缀。
武辰延想知道有多少对 的非空前缀连接起来是 的前缀。
形式化地讲,我们把 看作字符串 长度为 的前缀。
对于一对前缀 ) (允许 )而言,当满足 时,我们认为这两个 的前缀㔙接后等于 的一个前 叕。
两对 的前缀 与 不同当且仅当 或 。
输入描述:
第一行一个字符串 。
第二行一个字符串 。
其中 , 只包含小写字母。
输出描述:
输出一行一个整数, 表示满足条件的前缀的对数。
解题思路
二分,哈希
对于 的每一个固定前缀的 ,要求 的前缀 , 处的贡献为 的 后面的子串和 前缀的最长公共长度,可以预处理两个字符串的哈希值,然后二分长度
- 时间复杂度:
代码
G.九峰与蛇形填数
题目描述
蛇形填数是一道经典的入门题,但是九峰有自己的想法,他认为盘着的蛇不是一条好蛇,只有不断前进才能突破自 我,变成真龙,因此,相比于将矩阵填数成回型(盘踞的蛇):
九峰更憙欢将矩阵填成"S"型(行走的蛇):
现在给你一个 的初始全零的矩阵,请你将其按第二种方法填数,但是这样子太过简单,所以每一次操作九峰会选 择一个子矩阵,请你在其子矩阵上进行填数,并在最后输出整个矩阵
输入描述:
接下来 行, 每行输入三个正整数 , 表示在以 为左上角, 边长为 的方阵内填数
输出描述:
输出一个的矩阵,表示最后的结果
示例1
输入
输出
解题思路
思维
显然,从后往前填数更优,暴力填数时很多位置可能会重复枚举,可以考虑优化:设置 ,表示位置位于 的数右边连续的最后一个位置的纵坐标,如果当前数已填,则走到该数右边第一个未填的位置,这样每次填数不会重复走到一个位置
- 时间复杂度:
代码
__EOF__

本文作者:acwing_zyy
本文链接:https://www.cnblogs.com/zyyun/p/16051126.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zyyun/p/16051126.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!