CF Edu160F Palindromic Problem
赛时过的人少估计是因为难调。
考虑修改一个字符的贡献,会使得所有以该字符为瓶颈的回文串增加长度,同时会使得原来所有最长回文串经过该位置的位置减少长度。换个视角,不妨通过二分+哈希分别预处理出以每个位置为回文中心的最长回文串长度、以及修改一个字符后的最长回文串长度,则对于前者,会对区间造成等差序列的负贡献;后者和前者的差,会对瓶颈的特定字符造成正贡献。
最后统计每个位置每个字符的贡献之和取最大值即可。输出方案时,先从前到后尽可能修改到比原串更小的字符,若无解则考虑能否保留原串,否则从后到前、从原串中该位置上的字符到 尝试修改。
时间复杂度 。
分类:
好题收录 / 贡献拆分
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现