CF700E

题目大意:

给定一个长为 \(n\) 的字符串 \(S\),你要找到最大的 \(k\),使得存在 \(s_{1} \sim s_{k}\) 使得 \(s_{1}\)\(S\) 子串 且 \(s_{i}\)\(s_{i - 1}\) 中作为子串至少出现两次。
\(n \le 2 \times 10^5\)

解题思路:

考虑至少出现两次的条件是不好做的,但是我们贪心地倒推 \(s_{i}\)\(s_{i - 1}\) 的关系,由于 \(s_{i - 1}\) 越小越好,所以最后一定会让 \(s_{i}\) 变成 \(s_{i - 1}\) 的 border。
但是我们发现沿着这条路是不好走的,因为要求 \(s\) 内每一个字串最多跳多少次 border。

对于字符串的题,我们可以套路地设 \(dp_{i}\) 表示以 \(i\) 为后缀的答案,要求 \(s_{1}\)\(i\) 开头。
因为我们发现对于 border 是不断缩小的,而且无后效性。

那么为了转移,我们肯定要再设一个 \(len_{i}\) 表示 \(k\) 最大的情况下 \(s_{1}\) 最小是多少。

但是考虑直接转移是不对的,因为 \(dp\) 值大但可能转移不到后面,而且我们必须设一个状态数线性的 dp,不然会直接爆掉。
我们尝试一下能不能修锅。

考虑先把 \(dp\) 值算出来,因为每个 \(dp\) 能更新的在 SA 上是一段区间,所以能 \(O(n \log n)\)

现在的问题是对于两个位置 \(j,k\)\(j\)\(len_{j}\) 不能直接更新 \(len_{i}\),但 \(len_{k}\) 可以,而我们又要求的是最小的,所以希望取 \(len_{j}\) 的前缀。

由于 \(k \sim k + len_{k} - 1\) 是以 \(i\) 为开头的后缀的前缀,所以 \(i \sim i + len_{i} - 1\) 等于 \(k \sim k + len_{k} - 1\)
也就是我们只需要找到 \(LCP(i,j) >= len_{k}\) 的最前面的位置就行了。

\(len_{k}\) 就找到最小的即可。

O(n \log n)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

价值弥漫:“AI元人文”的场域革命与共生之路

价值弥漫:“AI元人文”的场域革命与共生之路 本文探讨“价值弥漫”作为“AI元人文”核心实现路径的哲学基础与技术内涵,提出从“工具性AI”到“场域性AI”的范式转变。 引言:从“价值对齐”到“价值弥漫”的范式迁移…

手机app设计网站公司网站建设需要什么科目

流程图 一、前期准备 1.1 打开百度智能云官网找到管理中心创建应用 全选文字识别 1.2 保存好AppId、API Key和Secret Key 1.3 找到通用场景文字识别,立即使用 1.4 根据自己需要,选择要开通的项目 二、代码编写 以通用文字识别(高精度版&am…

k8s之pod概念

1. pod基本概念 2. pod网络概念 3. pod的生命周期和状态 4. 探针 5. 创建pod 6. 总结‍ 1. pod基本概念Kubernetes 中,Pod 是最小的网络调度单位, 每个pod可以放多个容器(例如可以放多个docke容器在同一个pod中运行…

鸿蒙版Taro 搭建开发环境 - 教程

鸿蒙版Taro 搭建开发环境 - 教程2025-10-06 10:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…

CF 1055 Div.1+Div.2

F - Triple Attack 我会了。 G - Query Jungle 我会了。 H1 - Victorious Coloring (Easy Version) 我不会。 H2 - Victorious Coloring (Hard Version) 我不会。

LUCKY STUN穿透在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则

LUCKY STUN穿透在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则2024.02.07 关于本教程 本教程基于:基于stun穿透工具LUCKY,使BT客户端绿灯、开放TCP端口的办法(进化版) 在该教程中实现了使用 …

深圳门户网站制作wordpress 鼠标特效

摘要: 4月30日,阿里云发现,俄罗斯黑客利用Hadoop Yarn资源管理系统REST API未授权访问漏洞进行攻击。 Hadoop是一款由Apache基金会推出的分布式系统框架,它通过著名的 MapReduce 算法进行分布式处理,Yarn是Hadoop集群的…

2026 NOI 做题记录(五)

推荐阅读:A、B、E、F、N、O、R、T、U、WContest Link \(\text{By DaiRuiChen007}\)*A. [CF2097F] Lost Luggage (7.5) Problem Link 先建立网络流,每层的点 \(i\) 向下一层 \(i-1,i,i+1\) 分别连权值 \(a_i,b_i,c_i\…

ARC 207 (Div.1)

A - Affinity for Artifacts 我不会。我会了。 B - Balanced Neighbors 2然后 \(n\leq 5\) 无解。 C - Combine to Make Non-decreasing 容易发现原题目等价于将原序列分成若干段,要求段之间的 \(\text{OR}\) 值 non-…

四大门户网站的区别深圳营销型网站定制

教师资格认定前需要做的准备材料 准备身份证户口本 居住证 学生证 教师考试合格证明 普通话证书 学历证书 体检合格证书 近期一寸白底证件照 网上报名 河南24下教资认定 网上报名时间:10月21日-11月1日 现场确认 网上审核未通过的宝子,需要…

“齐俊杰投资智能体”更新完了9月份的资料

“齐俊杰投资智能体”更新完了9月份的资料,本次更新包括了9月份的课程和粉丝群问答,读书更新了这几本:明斯基时刻。每日问答的语音转文字已经使用了AI进行格式优化,更加容易阅读。将新资料更新到了智能体,大家可以…

联想电脑护眼卫士与系统颜色配置(X-Rite)冲突 | 显示设置频繁变换色阶 - 解决方案 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

(转载)无人机飞行模式全面解析

(转载)无人机飞行模式全面解析原文地址: https://baijiahao.baidu.com/s?id=1822706539478215889飞行模式详解 自稳模式: 在自稳模式下,飞手通过操作roll与pitch摇杆来控制飞行器的倾斜角度。一旦飞手松开这些摇…

html官方网站建站系统cms是什么

tcp长连接和保活时间TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Keepalive(存活定时器)功能。 www.2cto.com 默认的Keepa…

河北雄安建设投资集团网站微网站免费搭建平台

来源:专知 摘要对话系统是一个流行的自然语言处理(NLP)任务,因为它在现实生活中应用前景广阔。这也是一个复杂的任务,因为涉及到许多需要研究的自然语言处理任务。因此,关于深度学习的对话系统研究的大量工作开展了。在这个综述中…

网站建设怎么上传数据微信小程序设计软件

写在前面 内部审计是一种独立的、客观的确认和咨询活动,包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储,据此再对数据进行挖掘、分析和应用。广义…

InstructGPT 论文略读:三步走,让大模型真正听懂人话

InstructGPT 论文略读:三步走,让大模型真正听懂人话InstructGPT 论文略读:三步走,让大模型真正听懂人话 摘要 (Introduction) 大语言模型(LLM),如 GPT-3,无疑开启了自然语言处理的新纪元。它们强大的零样本和少…

LVS+Keepalived高可用群集 - 指南

LVS+Keepalived高可用群集 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

luogu P1020 [NOIP 1999 提高组] 导弹拦截

题目大意 共有两问求最长不升子序列 求最少能分为几个不升子序列Sol 原数据是 \(1e4\) 的,所以先考虑 \(O(n^2)\) 做法。第一问 容易发现,这跟我们求最长不降子序列是一样的 所以我们直接设状态为 \(dp_i\) 表示前 \…

网站建设方案后期服务制作网站的商家

作者:Greg Cipolaro,NYDIG 全球研究主管 编译:WEEX Exchange 几只重要的 ETF 申请将于 10 月中旬迎来审核窗口,本文通过观察近期期权市场的动态,以研究交易者对这些关键 ETF 日期的仓位态度;门头沟&#xf…